Issue #3445469 by pooja_sharma, smustgrave: Add additional test coverage for DialogRenderer::getTitleAsStringable()

merge-requests/4676/merge
nod_ 2024-08-22 10:45:45 +02:00
parent 73ec28542e
commit f4268525e4
No known key found for this signature in database
GPG Key ID: 76624892606FA197
3 changed files with 59 additions and 0 deletions

View File

@ -145,3 +145,19 @@ ajax_test.http_methods.dialog:
_controller: Drupal\ajax_test\Controller\AjaxTestController::httpMethodsDialog _controller: Drupal\ajax_test\Controller\AjaxTestController::httpMethodsDialog
requirements: requirements:
_access: 'TRUE' _access: 'TRUE'
ajax_test.link_page.dialog:
path: '/ajax-test/link-page-dialog'
defaults:
_title: 'AJAX link page'
_controller: '\Drupal\ajax_test\Controller\AjaxTestController::linkPageDialog'
requirements:
_access: 'TRUE'
ajax_test.link_page.dialog_contents:
path: '/ajax-test/link-page-dialog-contents'
defaults:
_title_callback: '\Drupal\ajax_test\Controller\AjaxTestController::linkPageDialogTitle'
_controller: '\Drupal\ajax_test\Controller\AjaxTestController::httpMethodsDialog'
requirements:
_access: 'TRUE'

View File

@ -457,4 +457,40 @@ class AjaxTestController {
return ['#markup' => 'Modal dialog contents']; return ['#markup' => 'Modal dialog contents'];
} }
/**
* Provides an Ajax link that open in dialog.
*
* @return array
* The AJAX link.
*/
public function linkPageDialog(): array {
return [
'#type' => 'link',
'#title' => 'Modal link',
'#url' => Url::fromRoute('ajax_test.link_page.dialog_contents'),
'#attributes' => [
'class' => [
'use-ajax',
],
'data-dialog-type' => 'dialog',
],
'#attached' => [
'library' => [
'core/drupal.dialog.ajax',
],
],
];
}
/**
* Provides a title to the page.
*
* @return string
* The page title.
*/
public function linkPageDialogTitle(): string {
$title = 'Dialog link page title';
return $title;
}
} }

View File

@ -216,6 +216,13 @@ class DialogTest extends WebDriverTestBase {
$form_title = $dialog_add->find('css', "span.ui-dialog-title:contains('Add contact form')"); $form_title = $dialog_add->find('css', "span.ui-dialog-title:contains('Add contact form')");
$this->assertNotNull($form_title, 'The add form title is as expected.'); $this->assertNotNull($form_title, 'The add form title is as expected.');
// Test: dialog link opener with title callback.
$page = $this->getSession()->getPage();
$assert_session = $this->assertSession();
$this->drupalGet("/ajax-test/link-page-dialog");
$page->clickLink('Modal link');
$this->assertEquals('Dialog link page title', $assert_session->waitForElement('css', '.ui-dialog-title')->getText());
} }
/** /**