Verified Commit a08227c7 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()

(cherry picked from commit c7df3a87)
parent 2ca2d354
Loading
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -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'
+36 −0
Original line number Diff line number Diff line
@@ -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;
  }

}
+7 −0
Original line number Diff line number Diff line
@@ -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());
  }

  /**