.../MediaEmbedFilterConfigurationUiTest.php | 115 +++++++++++++++++++-- 1 file changed, 106 insertions(+), 9 deletions(-) diff --git a/core/modules/media/tests/src/FunctionalJavascript/MediaEmbedFilterConfigurationUiTest.php b/core/modules/media/tests/src/FunctionalJavascript/MediaEmbedFilterConfigurationUiTest.php index d6c0a14a8f..7621cfbc78 100644 --- a/core/modules/media/tests/src/FunctionalJavascript/MediaEmbedFilterConfigurationUiTest.php +++ b/core/modules/media/tests/src/FunctionalJavascript/MediaEmbedFilterConfigurationUiTest.php @@ -44,7 +44,7 @@ protected function setUp() { * @covers ::media_filter_format_edit_form_validate * @dataProvider providerTestValidations */ - public function testValidationWhenAdding($filter_html_status, $media_embed_status, $allowed_html, $expected_error_message) { + public function testValidationWhenAdding($filter_html_status, $filter_align_status, $filter_caption_status, $filter_html_image_secure_status, $media_embed, $allowed_html, $expected_error_message) { $this->drupalGet('admin/config/content/formats/add'); // Enable the `filter_html` and `media_embed` filters. @@ -55,8 +55,22 @@ public function testValidationWhenAdding($filter_html_status, $media_embed_statu if ($filter_html_status) { $page->checkField('filters[filter_html][status]'); } - if ($media_embed_status) { + if ($filter_align_status) { + $page->checkField('filters[filter_align][status]'); + } + if ($filter_caption_status) { + $page->checkField('filters[filter_caption][status]'); + } + if ($filter_html_image_secure_status) { + $page->checkField('filters[filter_html_image_secure][status]'); + } + if ($media_embed === TRUE || is_numeric($media_embed)) { $page->checkField('filters[media_embed][status]'); + // Set a non-default weight. + if (is_numeric($media_embed)) { + $this->click('.tabledrag-toggle-weight'); + $page->selectFieldOption('filters[media_embed][weight]', $media_embed); + } } if (!empty($allowed_html)) { $page->fillField('filters[filter_html][settings][allowed_html]', $allowed_html); @@ -77,7 +91,7 @@ public function testValidationWhenAdding($filter_html_status, $media_embed_statu * @covers ::media_filter_format_edit_form_validate * @dataProvider providerTestValidations */ - public function testValidationWhenEditing($filter_html_status, $media_embed_status, $allowed_html, $expected_error_message) { + public function testValidationWhenEditing($filter_html_status, $filter_align_status, $filter_caption_status, $filter_html_image_secure_status, $media_embed, $allowed_html, $expected_error_message) { $this->drupalGet('admin/config/content/formats/manage/media_embed_test'); // Enable the `filter_html` and `media_embed` filters. @@ -85,8 +99,22 @@ public function testValidationWhenEditing($filter_html_status, $media_embed_stat if ($filter_html_status) { $page->checkField('filters[filter_html][status]'); } - if ($media_embed_status) { + if ($filter_align_status) { + $page->checkField('filters[filter_align][status]'); + } + if ($filter_caption_status) { + $page->checkField('filters[filter_caption][status]'); + } + if ($filter_html_image_secure_status) { + $page->checkField('filters[filter_html_image_secure][status]'); + } + if ($media_embed === TRUE || is_numeric($media_embed)) { $page->checkField('filters[media_embed][status]'); + // Set a non-default weight. + if (is_numeric($media_embed)) { + $this->click('.tabledrag-toggle-weight'); + $page->selectFieldOption('filters[media_embed][weight]', $media_embed); + } } if (!empty($allowed_html)) { $page->fillField('filters[filter_html][settings][allowed_html]', $allowed_html); @@ -110,34 +138,103 @@ public function providerTestValidations() { return [ 'Tests that no filter_html occurs when filter_html not enabled.' => [ 'filters[filter_html][status]' => FALSE, - 'filters[media_embed][status]' => TRUE, + 'filters[filter_align][status]' => FALSE, + 'filters[filter_caption][status]' => FALSE, + 'filters[filter_html_image_secure][status]' => FALSE, + 'media_embed' => TRUE, 'allowed_html' => FALSE, 'expected_error_message' => FALSE, ], 'Tests validation when both filter_html and media_embed are disabled.' => [ 'filters[filter_html][status]' => FALSE, - 'filters[media_embed][status]' => FALSE, + 'filters[filter_align][status]' => FALSE, + 'filters[filter_caption][status]' => FALSE, + 'filters[filter_html_image_secure][status]' => FALSE, + 'media_embed' => FALSE, 'allowed_html' => FALSE, 'expected_error_message' => FALSE, ], 'Tests validation when media_embed filter not enabled and filter_html is enabled.' => [ 'filters[filter_html][status]' => TRUE, - 'filters[media_embed][status]' => FALSE, + 'filters[filter_align][status]' => FALSE, + 'filters[filter_caption][status]' => FALSE, + 'filters[filter_html_image_secure][status]' => FALSE, + 'media_embed' => FALSE, 'allowed_html' => 'default', 'expected_error_message' => FALSE, ], 'Tests validation when drupal-media element has no attributes.' => [ 'filters[filter_html][status]' => TRUE, - 'filters[media_embed][status]' => TRUE, + 'filters[filter_align][status]' => FALSE, + 'filters[filter_caption][status]' => FALSE, + 'filters[filter_html_image_secure][status]' => FALSE, + 'media_embed' => TRUE, 'allowed_html' => "