Skip to content
Snippets Groups Projects
Verified Commit c7df3a87 authored by Théodore Biadala's avatar Théodore Biadala
Browse files

Issue #3445469 by pooja_sharma, smustgrave: Add additional test coverage for...

Issue #3445469 by pooja_sharma, smustgrave: Add additional test coverage for DialogRenderer::getTitleAsStringable()
parent 6aae9276
No related branches found
No related tags found
No related merge requests found
......@@ -145,3 +145,19 @@ ajax_test.http_methods.dialog:
_controller: Drupal\ajax_test\Controller\AjaxTestController::httpMethodsDialog
requirements:
_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'
......@@ -457,4 +457,40 @@ public function httpMethodsDialog(): array {
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;
}
}
......@@ -216,6 +216,13 @@ public function testDialog(): void {
$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.');
// 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());
}
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment