public function CKEditorStylesComboAdminTest::testExistingFormat in Drupal 9
Same name and namespace in other branches
- 8 core/modules/ckeditor/tests/src/Functional/CKEditorStylesComboAdminTest.php \Drupal\Tests\ckeditor\Functional\CKEditorStylesComboAdminTest::testExistingFormat()
- 10 core/modules/ckeditor/tests/src/Functional/CKEditorStylesComboAdminTest.php \Drupal\Tests\ckeditor\Functional\CKEditorStylesComboAdminTest::testExistingFormat()
Tests StylesCombo settings for an existing text format.
File
- core/
modules/ ckeditor/ tests/ src/ Functional/ CKEditorStylesComboAdminTest.php, line 67
Class
- CKEditorStylesComboAdminTest
- Tests administration of the CKEditor StylesCombo plugin.
Namespace
Drupal\Tests\ckeditor\FunctionalCode
public function testExistingFormat() {
$ckeditor = $this->container
->get('plugin.manager.editor')
->createInstance('ckeditor');
$default_settings = $ckeditor
->getDefaultSettings();
$this
->drupalLogin($this->adminUser);
$this
->drupalGet('admin/config/content/formats/manage/' . $this->format);
// Ensure an Editor config entity exists, with the proper settings.
$expected_settings = $default_settings;
$editor = Editor::load($this->format);
$this
->assertEquals($expected_settings, $editor
->getSettings(), 'The Editor config entity has the correct settings.');
// Case 1: Configure the Styles plugin with different labels for each style,
// and ensure the updated settings are saved.
$this
->drupalGet('admin/config/content/formats/manage/' . $this->format);
$edit = [
'editor[settings][plugins][stylescombo][styles]' => "h1.title|Title\np.callout|Callout\ndrupal-entity.has-dashes|Allowing Dashes\n\n",
];
$this
->submitForm($edit, 'Save configuration');
$expected_settings['plugins']['stylescombo']['styles'] = "h1.title|Title\np.callout|Callout\ndrupal-entity.has-dashes|Allowing Dashes\n\n";
$editor = Editor::load($this->format);
$this
->assertEquals($expected_settings, $editor
->getSettings(), 'The Editor config entity has the correct settings.');
// Case 2: Configure the Styles plugin with same labels for each style, and
// ensure that an error is displayed and that the updated settings are not
// saved.
$this
->drupalGet('admin/config/content/formats/manage/' . $this->format);
$edit = [
'editor[settings][plugins][stylescombo][styles]' => "h1.title|Title\np.callout|Title\n\n",
];
$this
->submitForm($edit, 'Save configuration');
$this
->assertSession()
->pageTextContains('Each style must have a unique label.');
$editor = Editor::load($this->format);
$this
->assertEquals($expected_settings, $editor
->getSettings(), 'The Editor config entity has the correct settings.');
}