Issue #3445469 by pooja_sharma, smustgrave: Add additional test coverage for DialogRenderer::getTitleAsStringable()
parent
73ec28542e
commit
f4268525e4
|
@ -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'
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue