Loading tests/src/FunctionalJavascript/ParagraphsPasteJavascriptTestBase.php +1 −29 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ use Drupal\Tests\paragraphs\FunctionalJavascript\LoginAdminTrait; abstract class ParagraphsPasteJavascriptTestBase extends WebDriverTestBase { use LoginAdminTrait; use ParagraphsPasteJavascriptTestTrait; /** * Modules to enable. Loading @@ -33,35 +34,6 @@ abstract class ParagraphsPasteJavascriptTestBase extends WebDriverTestBase { */ protected $defaultTheme = 'stark'; /** * Simulate paste event. * * @param string $field_name * The original field name. * @param string $text * Text to copy. */ public function simulatePasteEvent($field_name, $text) { $this->click("[data-paragraphs-paste-target=\"{$field_name}\"]"); $area_selector = ".ui-dialog .paragraphs-paste-form [name=\"" . $field_name . "_paste_area\"]"; $this->getSession()->executeScript("document.querySelector('{$area_selector}').value = '{$text}';"); $this->click(".ui-dialog .paragraphs-paste-form [name=\"" . $field_name . "_paste_submit\"]"); } /** * Wait for element to be present. * * @param string $selector * The CSS selector. * @param int $timeout * (Optional) Timeout in milliseconds, defaults to 1000. * @param string $message * (Optional) Message to pass to assertJsCondition(). */ public function waitForElementPresent($selector, $timeout = 1000, $message = '') { $this->assertJsCondition("document.querySelector('{$selector}')", $timeout, $message); } /** * {@inheritdoc} */ Loading tests/src/FunctionalJavascript/ParagraphsPasteJavascriptTestTrait.php 0 → 100644 +39 −0 Original line number Diff line number Diff line <?php namespace Drupal\Tests\paragraphs_paste\FunctionalJavascript; /** * Test trait with helper functions. */ trait ParagraphsPasteJavascriptTestTrait { /** * Simulate paste event. * * @param string $field_name * The original field name. * @param string $text * Text to copy. */ public function simulatePasteEvent($field_name, $text) { $this->click("[data-paragraphs-paste-target=\"{$field_name}\"]"); $area_selector = ".ui-dialog .paragraphs-paste-form [name=\"" . $field_name . "_paste_area\"]"; $this->getSession()->executeScript("document.querySelector('{$area_selector}').value = '{$text}';"); $this->click(".ui-dialog .paragraphs-paste-form [name=\"" . $field_name . "_paste_submit\"]"); } /** * Wait for element to be present. * * @param string $selector * The CSS selector. * @param int $timeout * (Optional) Timeout in milliseconds, defaults to 1000. * @param string $message * (Optional) Message to pass to assertJsCondition(). */ public function waitForElementPresent($selector, $timeout = 1000, $message = '') { $this->assertJsCondition("document.querySelector('{$selector}')", $timeout, $message); } } Loading
tests/src/FunctionalJavascript/ParagraphsPasteJavascriptTestBase.php +1 −29 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ use Drupal\Tests\paragraphs\FunctionalJavascript\LoginAdminTrait; abstract class ParagraphsPasteJavascriptTestBase extends WebDriverTestBase { use LoginAdminTrait; use ParagraphsPasteJavascriptTestTrait; /** * Modules to enable. Loading @@ -33,35 +34,6 @@ abstract class ParagraphsPasteJavascriptTestBase extends WebDriverTestBase { */ protected $defaultTheme = 'stark'; /** * Simulate paste event. * * @param string $field_name * The original field name. * @param string $text * Text to copy. */ public function simulatePasteEvent($field_name, $text) { $this->click("[data-paragraphs-paste-target=\"{$field_name}\"]"); $area_selector = ".ui-dialog .paragraphs-paste-form [name=\"" . $field_name . "_paste_area\"]"; $this->getSession()->executeScript("document.querySelector('{$area_selector}').value = '{$text}';"); $this->click(".ui-dialog .paragraphs-paste-form [name=\"" . $field_name . "_paste_submit\"]"); } /** * Wait for element to be present. * * @param string $selector * The CSS selector. * @param int $timeout * (Optional) Timeout in milliseconds, defaults to 1000. * @param string $message * (Optional) Message to pass to assertJsCondition(). */ public function waitForElementPresent($selector, $timeout = 1000, $message = '') { $this->assertJsCondition("document.querySelector('{$selector}')", $timeout, $message); } /** * {@inheritdoc} */ Loading
tests/src/FunctionalJavascript/ParagraphsPasteJavascriptTestTrait.php 0 → 100644 +39 −0 Original line number Diff line number Diff line <?php namespace Drupal\Tests\paragraphs_paste\FunctionalJavascript; /** * Test trait with helper functions. */ trait ParagraphsPasteJavascriptTestTrait { /** * Simulate paste event. * * @param string $field_name * The original field name. * @param string $text * Text to copy. */ public function simulatePasteEvent($field_name, $text) { $this->click("[data-paragraphs-paste-target=\"{$field_name}\"]"); $area_selector = ".ui-dialog .paragraphs-paste-form [name=\"" . $field_name . "_paste_area\"]"; $this->getSession()->executeScript("document.querySelector('{$area_selector}').value = '{$text}';"); $this->click(".ui-dialog .paragraphs-paste-form [name=\"" . $field_name . "_paste_submit\"]"); } /** * Wait for element to be present. * * @param string $selector * The CSS selector. * @param int $timeout * (Optional) Timeout in milliseconds, defaults to 1000. * @param string $message * (Optional) Message to pass to assertJsCondition(). */ public function waitForElementPresent($selector, $timeout = 1000, $message = '') { $this->assertJsCondition("document.querySelector('{$selector}')", $timeout, $message); } }