You are here

protected function QuickEditJavascriptTestBase::typeInFormEditorTextInputField in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditJavascriptTestBase.php \Drupal\Tests\quickedit\FunctionalJavascript\QuickEditJavascriptTestBase::typeInFormEditorTextInputField()
  2. 10 core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditJavascriptTestBase.php \Drupal\Tests\quickedit\FunctionalJavascript\QuickEditJavascriptTestBase::typeInFormEditorTextInputField()

Simulates typing in an input[type=text] inside a 'form' in-place editor.

Parameters

string $input_name: The "name" attribute of the input[type=text] to type in.

string $text: The text to type.

See also

\Drupal\quickedit\Plugin\InPlaceEditor\FormEditor

1 call to QuickEditJavascriptTestBase::typeInFormEditorTextInputField()
QuickEditIntegrationTest::testArticleNode in core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditIntegrationTest.php
Tests if an article node can be in-place edited with Quick Edit.

File

core/modules/quickedit/tests/src/FunctionalJavascript/QuickEditJavascriptTestBase.php, line 297

Class

QuickEditJavascriptTestBase
Base class for testing the QuickEdit.

Namespace

Drupal\Tests\quickedit\FunctionalJavascript

Code

protected function typeInFormEditorTextInputField($input_name, $text) {
  $input = $this
    ->cssSelect('.quickedit-form-container > .quickedit-form[role="dialog"] form.quickedit-field-form input[type=text][name="' . $input_name . '"]')[0];
  $input
    ->setValue($text);
  $js_simulate_user_typing = <<<JS
function () {
  var el = document.querySelector('.quickedit-form-container > .quickedit-form[role="dialog"] form.quickedit-field-form input[name="{<span class="php-variable">$input_name</span>}"]');
  window.jQuery(el).trigger('formUpdated');
}()
JS;
  $this
    ->getSession()
    ->evaluateScript($js_simulate_user_typing);
}