Loading tests/modules/webform_test/config/install/webform.webform.test_element_html_editor.yml +1 −10 Original line number Diff line number Diff line Loading @@ -21,15 +21,6 @@ elements: | '#title': 'webform_html_editor (default)' '#required': true '#default_value': 'Hello <b>World!!!</b>' webform_html_editor_disable: '#type': webform_html_editor '#title': 'webform_html_editor (disable)' '#default_value': 'Hello <b>World!!!</b>' '#required': true '#disable': true '#attributes': class: - custom-disabled webform_html_editor_format: '#type': webform_html_editor '#title': 'webform_html_editor (format)' Loading tests/src/Functional/Element/WebformElementHtmlEditorTest.php +6 −24 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ class WebformElementHtmlEditorTest extends WebformElementBrowserTestBase { * * @var array */ protected static $modules = ['filter', 'webform']; protected static $modules = ['filter', 'editor', 'ckeditor', 'webform']; /** * Webforms to load. Loading Loading @@ -50,24 +50,19 @@ class WebformElementHtmlEditorTest extends WebformElementBrowserTestBase { // Check required validation. $edit = [ 'webform_html_editor[value]' => '', 'webform_html_editor_disable[value]' => '', 'webform_html_editor[value][value]' => '', 'webform_html_editor_format[value][value]' => '', 'webform_html_editor_codemirror[value]' => '', ]; $this->postSubmission($webform, $edit); $assert_session->responseContains('webform_html_editor (default) field is required.'); $assert_session->responseContains('webform_html_editor (disable) field is required.'); $assert_session->responseContains('webform_html_editor (format) field is required.'); $assert_session->responseContains('webform_html_editor_codemirror (none) field is required.'); $this->drupalGet('/webform/test_element_html_editor'); // Check that HTML editor is enabled. $assert_session->responseContains('<textarea data-drupal-selector="edit-webform-html-editor-value" class="js-html-editor form-textarea required" id="edit-webform-html-editor-value" name="webform_html_editor[value]" rows="5" cols="60" required="required" aria-required="true">Hello <b>World!!!</b></textarea>'); // Check that HTML editor is disabled. $assert_session->responseContains('<textarea class="custom-disabled js-html-editor form-textarea required" data-drupal-selector="edit-webform-html-editor-disable-value" id="edit-webform-html-editor-disable-value" name="webform_html_editor_disable[value]" rows="5" cols="60" required="required" aria-required="true">Hello <b>World!!!</b></textarea>'); $assert_session->responseContains('<textarea data-drupal-selector="edit-webform-html-editor-value-value" id="edit-webform-html-editor-value-value" name="webform_html_editor[value][value]" rows="5" cols="60" class="form-textarea required" required="required" aria-required="true">Hello <b>World!!!</b></textarea>'); // Check that CodeMirror is displayed when #format: FALSE. $assert_session->responseContains('<textarea data-drupal-selector="edit-webform-html-editor-codemirror-value" class="js-webform-codemirror webform-codemirror html required form-textarea" required="required" aria-required="true" data-webform-codemirror-mode="text/html" id="edit-webform-html-editor-codemirror-value" name="webform_html_editor_codemirror[value]" rows="5" cols="60">Hello <b>World!!!</b></textarea>'); Loading @@ -79,7 +74,7 @@ class WebformElementHtmlEditorTest extends WebformElementBrowserTestBase { // Check that HTML editor is removed and replaced by CodeMirror HTML editor. $this->drupalGet('/webform/test_element_html_editor'); $assert_session->responseNotContains('<textarea class="js-html-editor form-textarea required" data-drupal-selector="edit-webform-html-editor-value" id="edit-webform-html-editor-value" name="webform_html_editor[value]" rows="5" cols="60" required="required" aria-required="true">Hello <b>World!!!</b></textarea>'); $assert_session->responseNotContains('<textarea data-drupal-selector="edit-webform-html-editor-value-value" id="edit-webform-html-editor-value-value" name="webform_html_editor[value][value]" rows="5" cols="60" class="form-textarea required" required="required" aria-required="true">Hello <b>World!!!</b></textarea>'); $assert_session->responseContains('<textarea data-drupal-selector="edit-webform-html-editor-value" class="js-webform-codemirror webform-codemirror html required form-textarea" required="required" aria-required="true" data-webform-codemirror-mode="text/html" id="edit-webform-html-editor-value" name="webform_html_editor[value]" rows="5" cols="60">Hello <b>World!!!</b></textarea>'); // Enable HTML editor and element text format. Loading @@ -95,19 +90,14 @@ class WebformElementHtmlEditorTest extends WebformElementBrowserTestBase { $assert_session->responseNotContains('<textarea class="js-html-editor form-textarea" data-drupal-selector="edit-webform-html-editor-value" id="edit-webform-html-editor-value" name="webform_html_editor[value]" rows="5" cols="60">Hello <b>World!!!</b></textarea>'); $assert_session->responseNotContains('<textarea data-drupal-selector="edit-webform-html-editor-value" class="js-webform-codemirror webform-codemirror html required form-textarea" required="required" aria-required="true" data-webform-codemirror-mode="text/html" id="edit-webform-html-editor-value" name="webform_html_editor[value]" rows="5" cols="60">Hello <b>World!!!</b></textarea>'); $assert_session->responseContains('<textarea data-drupal-selector="edit-webform-html-editor-value-value" id="edit-webform-html-editor-value-value" name="webform_html_editor[value][value]" rows="5" cols="60" class="form-textarea required" required="required" aria-required="true">Hello <b>World!!!</b></textarea>'); $assert_session->responseContains('<h4>Basic HTML</h4>'); // Disable element text format. $this->drupalGet('/admin/structure/webform/config/elements'); $edit = ['html_editor[element_format]' => '']; $this->submitForm($edit, 'Save configuration'); // Check that tidy removed <p> tags. $build = WebformHtmlEditor::checkMarkup('<p>Some text</p>'); $this->assertEquals(\Drupal::service('renderer')->renderPlain($build), 'Some text'); $build = WebformHtmlEditor::checkMarkup('<p class="other">Some text</p>'); $this->assertEquals(\Drupal::service('renderer')->renderPlain($build), '<p class="other">Some text</p>'); $this->assertEquals(\Drupal::service('renderer')->renderPlain($build), '<p>Some text</p>'); $build = WebformHtmlEditor::checkMarkup('<p>Some text</p><p>More text</p>'); $this->assertEquals(\Drupal::service('renderer')->renderPlain($build), '<p>Some text</p><p>More text</p>'); Loading @@ -121,18 +111,10 @@ class WebformElementHtmlEditorTest extends WebformElementBrowserTestBase { $this->assertEquals(\Drupal::service('renderer')->renderPlain($build), '<p>Some text</p>'); /* Email text format */ // Disable HTML editor. $edit = [ 'html_editor[disabled]' => FALSE, 'html_editor[element_format]' => '', 'html_editor[mail_format]' => '', ]; $this->drupalGet('/admin/structure/webform/config/elements'); $this->submitForm($edit, 'Save configuration'); // Check that HTML editor is used. $this->drupalGet('/admin/structure/webform/manage/contact/handlers/email_confirmation/edit'); $assert_session->responseContains('<textarea data-drupal-selector="edit-settings-body-custom-html-value" class="js-html-editor form-textarea" id="edit-settings-body-custom-html-value" name="settings[body_custom_html][value]" rows="5" cols="60">'); $assert_session->responseContains('<textarea data-drupal-selector="edit-settings-body-custom-html-value-value" id="edit-settings-body-custom-html-value-value" name="settings[body_custom_html][value][value]" rows="5" cols="60" class="form-textarea">'); // Enable mail text format. $edit = [ Loading Loading
tests/modules/webform_test/config/install/webform.webform.test_element_html_editor.yml +1 −10 Original line number Diff line number Diff line Loading @@ -21,15 +21,6 @@ elements: | '#title': 'webform_html_editor (default)' '#required': true '#default_value': 'Hello <b>World!!!</b>' webform_html_editor_disable: '#type': webform_html_editor '#title': 'webform_html_editor (disable)' '#default_value': 'Hello <b>World!!!</b>' '#required': true '#disable': true '#attributes': class: - custom-disabled webform_html_editor_format: '#type': webform_html_editor '#title': 'webform_html_editor (format)' Loading
tests/src/Functional/Element/WebformElementHtmlEditorTest.php +6 −24 Original line number Diff line number Diff line Loading @@ -17,7 +17,7 @@ class WebformElementHtmlEditorTest extends WebformElementBrowserTestBase { * * @var array */ protected static $modules = ['filter', 'webform']; protected static $modules = ['filter', 'editor', 'ckeditor', 'webform']; /** * Webforms to load. Loading Loading @@ -50,24 +50,19 @@ class WebformElementHtmlEditorTest extends WebformElementBrowserTestBase { // Check required validation. $edit = [ 'webform_html_editor[value]' => '', 'webform_html_editor_disable[value]' => '', 'webform_html_editor[value][value]' => '', 'webform_html_editor_format[value][value]' => '', 'webform_html_editor_codemirror[value]' => '', ]; $this->postSubmission($webform, $edit); $assert_session->responseContains('webform_html_editor (default) field is required.'); $assert_session->responseContains('webform_html_editor (disable) field is required.'); $assert_session->responseContains('webform_html_editor (format) field is required.'); $assert_session->responseContains('webform_html_editor_codemirror (none) field is required.'); $this->drupalGet('/webform/test_element_html_editor'); // Check that HTML editor is enabled. $assert_session->responseContains('<textarea data-drupal-selector="edit-webform-html-editor-value" class="js-html-editor form-textarea required" id="edit-webform-html-editor-value" name="webform_html_editor[value]" rows="5" cols="60" required="required" aria-required="true">Hello <b>World!!!</b></textarea>'); // Check that HTML editor is disabled. $assert_session->responseContains('<textarea class="custom-disabled js-html-editor form-textarea required" data-drupal-selector="edit-webform-html-editor-disable-value" id="edit-webform-html-editor-disable-value" name="webform_html_editor_disable[value]" rows="5" cols="60" required="required" aria-required="true">Hello <b>World!!!</b></textarea>'); $assert_session->responseContains('<textarea data-drupal-selector="edit-webform-html-editor-value-value" id="edit-webform-html-editor-value-value" name="webform_html_editor[value][value]" rows="5" cols="60" class="form-textarea required" required="required" aria-required="true">Hello <b>World!!!</b></textarea>'); // Check that CodeMirror is displayed when #format: FALSE. $assert_session->responseContains('<textarea data-drupal-selector="edit-webform-html-editor-codemirror-value" class="js-webform-codemirror webform-codemirror html required form-textarea" required="required" aria-required="true" data-webform-codemirror-mode="text/html" id="edit-webform-html-editor-codemirror-value" name="webform_html_editor_codemirror[value]" rows="5" cols="60">Hello <b>World!!!</b></textarea>'); Loading @@ -79,7 +74,7 @@ class WebformElementHtmlEditorTest extends WebformElementBrowserTestBase { // Check that HTML editor is removed and replaced by CodeMirror HTML editor. $this->drupalGet('/webform/test_element_html_editor'); $assert_session->responseNotContains('<textarea class="js-html-editor form-textarea required" data-drupal-selector="edit-webform-html-editor-value" id="edit-webform-html-editor-value" name="webform_html_editor[value]" rows="5" cols="60" required="required" aria-required="true">Hello <b>World!!!</b></textarea>'); $assert_session->responseNotContains('<textarea data-drupal-selector="edit-webform-html-editor-value-value" id="edit-webform-html-editor-value-value" name="webform_html_editor[value][value]" rows="5" cols="60" class="form-textarea required" required="required" aria-required="true">Hello <b>World!!!</b></textarea>'); $assert_session->responseContains('<textarea data-drupal-selector="edit-webform-html-editor-value" class="js-webform-codemirror webform-codemirror html required form-textarea" required="required" aria-required="true" data-webform-codemirror-mode="text/html" id="edit-webform-html-editor-value" name="webform_html_editor[value]" rows="5" cols="60">Hello <b>World!!!</b></textarea>'); // Enable HTML editor and element text format. Loading @@ -95,19 +90,14 @@ class WebformElementHtmlEditorTest extends WebformElementBrowserTestBase { $assert_session->responseNotContains('<textarea class="js-html-editor form-textarea" data-drupal-selector="edit-webform-html-editor-value" id="edit-webform-html-editor-value" name="webform_html_editor[value]" rows="5" cols="60">Hello <b>World!!!</b></textarea>'); $assert_session->responseNotContains('<textarea data-drupal-selector="edit-webform-html-editor-value" class="js-webform-codemirror webform-codemirror html required form-textarea" required="required" aria-required="true" data-webform-codemirror-mode="text/html" id="edit-webform-html-editor-value" name="webform_html_editor[value]" rows="5" cols="60">Hello <b>World!!!</b></textarea>'); $assert_session->responseContains('<textarea data-drupal-selector="edit-webform-html-editor-value-value" id="edit-webform-html-editor-value-value" name="webform_html_editor[value][value]" rows="5" cols="60" class="form-textarea required" required="required" aria-required="true">Hello <b>World!!!</b></textarea>'); $assert_session->responseContains('<h4>Basic HTML</h4>'); // Disable element text format. $this->drupalGet('/admin/structure/webform/config/elements'); $edit = ['html_editor[element_format]' => '']; $this->submitForm($edit, 'Save configuration'); // Check that tidy removed <p> tags. $build = WebformHtmlEditor::checkMarkup('<p>Some text</p>'); $this->assertEquals(\Drupal::service('renderer')->renderPlain($build), 'Some text'); $build = WebformHtmlEditor::checkMarkup('<p class="other">Some text</p>'); $this->assertEquals(\Drupal::service('renderer')->renderPlain($build), '<p class="other">Some text</p>'); $this->assertEquals(\Drupal::service('renderer')->renderPlain($build), '<p>Some text</p>'); $build = WebformHtmlEditor::checkMarkup('<p>Some text</p><p>More text</p>'); $this->assertEquals(\Drupal::service('renderer')->renderPlain($build), '<p>Some text</p><p>More text</p>'); Loading @@ -121,18 +111,10 @@ class WebformElementHtmlEditorTest extends WebformElementBrowserTestBase { $this->assertEquals(\Drupal::service('renderer')->renderPlain($build), '<p>Some text</p>'); /* Email text format */ // Disable HTML editor. $edit = [ 'html_editor[disabled]' => FALSE, 'html_editor[element_format]' => '', 'html_editor[mail_format]' => '', ]; $this->drupalGet('/admin/structure/webform/config/elements'); $this->submitForm($edit, 'Save configuration'); // Check that HTML editor is used. $this->drupalGet('/admin/structure/webform/manage/contact/handlers/email_confirmation/edit'); $assert_session->responseContains('<textarea data-drupal-selector="edit-settings-body-custom-html-value" class="js-html-editor form-textarea" id="edit-settings-body-custom-html-value" name="settings[body_custom_html][value]" rows="5" cols="60">'); $assert_session->responseContains('<textarea data-drupal-selector="edit-settings-body-custom-html-value-value" id="edit-settings-body-custom-html-value-value" name="settings[body_custom_html][value][value]" rows="5" cols="60" class="form-textarea">'); // Enable mail text format. $edit = [ Loading