Security update for Core, with self-updated composer
[yaffs-website] / web / core / modules / system / tests / src / FunctionalJavascript / ModalRendererTest.php
diff --git a/web/core/modules/system/tests/src/FunctionalJavascript/ModalRendererTest.php b/web/core/modules/system/tests/src/FunctionalJavascript/ModalRendererTest.php
new file mode 100644 (file)
index 0000000..7c0aec0
--- /dev/null
@@ -0,0 +1,38 @@
+<?php
+
+namespace Drupal\Tests\system\FunctionalJavascript;
+
+use Drupal\FunctionalJavascriptTests\JavascriptTestBase;
+
+/**
+ * Tests that dialog links use different renderer services.
+ *
+ * @group system
+ */
+class ModalRendererTest extends JavascriptTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public static $modules = ['system', 'dialog_renderer_test'];
+
+  /**
+   * Tests that links respect 'data-dialog-renderer' attribute.
+   */
+  public function testModalRenderer() {
+    $session_assert = $this->assertSession();
+    $this->drupalGet('/dialog_renderer-test-links');
+    $this->clickLink('Normal Modal!');
+    // Neither of the wide modals should have been used.
+    $style = $session_assert->waitForElementVisible('css', '.ui-dialog')->getAttribute('style');
+    $this->assertNotContains('700px', $style);
+    $this->assertNotContains('1000px', $style);
+    $this->drupalGet('/dialog_renderer-test-links');
+    $this->clickLink('Wide Modal!');
+    $this->assertNotEmpty($session_assert->waitForElementVisible('css', '.ui-dialog[style*="width: 700px;"]'));
+    $this->drupalGet('/dialog_renderer-test-links');
+    $this->clickLink('Extra Wide Modal!');
+    $this->assertNotEmpty($session_assert->waitForElementVisible('css', '.ui-dialog[style*="width: 1000px;"]'));
+  }
+
+}