function CKEditorPluginManagerTest::testCssFiles

Same name in other branches
  1. 8.9.x core/modules/ckeditor/tests/src/Kernel/CKEditorPluginManagerTest.php \Drupal\Tests\ckeditor\Kernel\CKEditorPluginManagerTest::testCssFiles()

Tests the iframe instance CSS files of plugins.

File

core/modules/ckeditor/tests/src/Kernel/CKEditorPluginManagerTest.php, line 145

Class

CKEditorPluginManagerTest
Tests different ways of enabling CKEditor plugins.

Namespace

Drupal\Tests\ckeditor\Kernel

Code

public function testCssFiles() {
    $this->manager = $this->container
        ->get('plugin.manager.ckeditor.plugin');
    $editor = Editor::load('filtered_html');
    // Case 1: no CKEditor iframe instance CSS file.
    $this->assertSame([], $this->manager
        ->getCssFiles($editor), 'No iframe instance CSS file found.');
    // Enable the CKEditor Test module, which has the LlamaCss plugin and
    // clear the editor manager's cache so it is picked up.
    $this->enableModules([
        'ckeditor_test',
    ]);
    $this->manager = $this->container
        ->get('plugin.manager.ckeditor.plugin');
    $settings = $editor->getSettings();
    // LlamaCss: automatically enabled by adding its 'LlamaCSS' button.
    $settings['toolbar']['rows'][0][0]['items'][] = 'LlamaCSS';
    $editor->setSettings($settings);
    $editor->save();
    // Case 2: CKEditor iframe instance CSS file.
    $expected = [
        'llama_css' => [
            $this->getModulePath('ckeditor_test') . '/css/llama.css',
        ],
    ];
    $this->assertSame($expected, $this->manager
        ->getCssFiles($editor), 'Iframe instance CSS file found.');
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.