From 5b0cd33e9afec35514410ce2dbdc76516da6bd11 Mon Sep 17 00:00:00 2001 From: Lauri Eskola Date: Fri, 26 Aug 2022 21:08:10 +0300 Subject: [PATCH] Issue #3270734 by Wim Leers, longwave, andregp, bnjmnm: Update Editor + CKEditor 5 module to not use CKEditor 4 in tests (cherry picked from commit f09840a74b9affe5a6e3e85f668d9eadec74ea85) --- .../CKEditor5CKEditor4Compatibility.php | 22 +++++- .../ckeditor5/src/SmartDefaultSettings.php | 5 +- .../src/FunctionalJavascript/AdminUiTest.php | 8 +- .../CKEditor5AllowedTagsTest.php | 76 +++++++----------- .../src/Kernel/SmartDefaultSettingsTest.php | 77 +++++++++++-------- core/modules/editor/src/Entity/Editor.php | 12 ++- .../install/editor.editor.private_images.yml | 21 +---- .../src/Plugin/Editor/UnicornEditor.php | 16 ++++ .../src/Functional/EditorDialogAccessTest.php | 19 +---- .../EditorPrivateFileReferenceFilterTest.php | 6 +- .../FunctionalJavascript/EditorAdminTest.php | 20 ++--- 11 files changed, 138 insertions(+), 144 deletions(-) rename core/modules/{ckeditor5 => ckeditor}/tests/src/FunctionalJavascript/CKEditor5CKEditor4Compatibility.php (87%) diff --git a/core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5CKEditor4Compatibility.php b/core/modules/ckeditor/tests/src/FunctionalJavascript/CKEditor5CKEditor4Compatibility.php similarity index 87% rename from core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5CKEditor4Compatibility.php rename to core/modules/ckeditor/tests/src/FunctionalJavascript/CKEditor5CKEditor4Compatibility.php index b6e4b42f674..aa3c14968f0 100644 --- a/core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5CKEditor4Compatibility.php +++ b/core/modules/ckeditor/tests/src/FunctionalJavascript/CKEditor5CKEditor4Compatibility.php @@ -1,6 +1,6 @@ drupalCreateContentType(['type' => 'page']); + + $this->drupalLogin($this->drupalCreateUser([ + 'administer filters', + 'create page content', + 'edit own page content', + ])); + $current_user_roles = $this->loggedInUser->getRoles(TRUE); // Create text format, text editor and text fields for CKEditor 5 and 4. diff --git a/core/modules/ckeditor5/src/SmartDefaultSettings.php b/core/modules/ckeditor5/src/SmartDefaultSettings.php index b5f29697fde..08db67c9a14 100644 --- a/core/modules/ckeditor5/src/SmartDefaultSettings.php +++ b/core/modules/ckeditor5/src/SmartDefaultSettings.php @@ -149,10 +149,13 @@ final class SmartDefaultSettings { // if it exists. $old_editor = $editor->id() ? Editor::load($editor->id()) : NULL; $old_editor_restrictions = $old_editor ? HTMLRestrictions::fromTextFormat($old_editor->getFilterFormat()) : HTMLRestrictions::emptySet(); + // @todo Remove in https://www.drupal.org/project/drupal/issues/3245351 + if ($old_editor) { + $editor->setImageUploadSettings($old_editor->getImageUploadSettings()); + } if ($old_editor && $old_editor->getEditor() === 'ckeditor') { [$upgraded_settings, $messages] = $this->createSettingsFromCKEditor4($old_editor->getSettings(), HTMLRestrictions::fromTextFormat($old_editor->getFilterFormat())); $editor->setSettings($upgraded_settings); - $editor->setImageUploadSettings($old_editor->getImageUploadSettings()); // *Before* determining which elements are still needed for this text // format, ensure that all already enabled plugins that are configurable // have valid settings. diff --git a/core/modules/ckeditor5/tests/src/FunctionalJavascript/AdminUiTest.php b/core/modules/ckeditor5/tests/src/FunctionalJavascript/AdminUiTest.php index 2d237aaeb45..2de19d18138 100644 --- a/core/modules/ckeditor5/tests/src/FunctionalJavascript/AdminUiTest.php +++ b/core/modules/ckeditor5/tests/src/FunctionalJavascript/AdminUiTest.php @@ -17,7 +17,7 @@ class AdminUiTest extends CKEditor5TestBase { */ protected static $modules = [ 'media_library', - 'ckeditor', + 'editor_test', 'ckeditor5_incompatible_filter_test', ]; @@ -28,7 +28,7 @@ class AdminUiTest extends CKEditor5TestBase { $page = $this->getSession()->getPage(); $assert_session = $this->assertSession(); $this->addNewTextFormat($page, $assert_session); - $this->addNewTextFormat($page, $assert_session, 'ckeditor'); + $this->addNewTextFormat($page, $assert_session, 'unicorn'); $this->drupalGet('admin/config/content/formats/manage/ckeditor5'); $number_ajax_instances_before = $this->getSession()->evaluateScript('Drupal.ajax.instances.length'); @@ -47,7 +47,7 @@ class AdminUiTest extends CKEditor5TestBase { // Perform the same steps as above with CKEditor, and confirm AJAX callbacks // are not triggered on settings changes. - $this->drupalGet('admin/config/content/formats/manage/ckeditor'); + $this->drupalGet('admin/config/content/formats/manage/unicorn'); $number_ajax_instances_before = $this->getSession()->evaluateScript('Drupal.ajax.instances.length'); // Enable media embed to confirm a format not using CKEditor 5 will not @@ -105,7 +105,7 @@ class AdminUiTest extends CKEditor5TestBase { public function testUnavailableFiltersHiddenWhenSwitching() { $page = $this->getSession()->getPage(); $assert_session = $this->assertSession(); - $this->createNewTextFormat($page, $assert_session, 'ckeditor'); + $this->createNewTextFormat($page, $assert_session, 'unicorn'); $assert_session->assertWaitOnAjaxRequest(); $assert_session->pageTextNotContains('Filter settings'); diff --git a/core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5AllowedTagsTest.php b/core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5AllowedTagsTest.php index 540f54ada51..86265f45c41 100644 --- a/core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5AllowedTagsTest.php +++ b/core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5AllowedTagsTest.php @@ -22,7 +22,7 @@ class CKEditor5AllowedTagsTest extends CKEditor5TestBase { */ protected static $modules = [ 'node', - 'ckeditor', + 'editor_test', 'ckeditor5', 'media', 'media_library', @@ -37,18 +37,20 @@ class CKEditor5AllowedTagsTest extends CKEditor5TestBase { protected $allowedElements = '

'; /** - * The default allowed elements when updating a non-CKEditor 5 editor. + * The default allowed elements for filter_html's "allowed_html" setting. + * + * @see \Drupal\filter\Plugin\Filter\FilterHtml * * @var string */ - protected $defaultElementsWhenUpdatingNotCkeditor5 = '