function CKEditor5CodeSyntaxTest::testCKEditor5CodeSyntax
Tests code block configured languages are respected.
File
-
core/
modules/ ckeditor5/ tests/ src/ FunctionalJavascript/ CKEditor5CodeSyntaxTest.php, line 24
Class
- CKEditor5CodeSyntaxTest
- Tests code block configured languages are respected.
Namespace
Drupal\Tests\ckeditor5\FunctionalJavascriptCode
public function testCKEditor5CodeSyntax() : void {
$this->addNewTextFormat();
/** @var \Drupal\editor\Entity\Editor $editor */
$editor = Editor::load('ckeditor5');
$editor->setSettings([
'toolbar' => [
'items' => [
'codeBlock',
],
],
'plugins' => [
'ckeditor5_codeBlock' => [
'languages' => [
[
'label' => 'Twig',
'language' => 'twig',
],
[
'label' => 'YML',
'language' => 'yml',
],
],
],
],
])
->save();
$this->drupalGet('/node/add/page');
$this->waitForEditor();
// Open code block dropdown, and verify that correct languages are present.
$assertSession = $this->assertSession();
$page = $this->getSession()
->getPage();
$page->find('css', '.ck-code-block-dropdown .ck-dropdown__button .ck-splitbutton__arrow')
->click();
$codeBlockOptionsSelector = '.ck-code-block-dropdown .ck-dropdown__panel .ck-list__item .ck-button__label';
$assertSession->waitForElementVisible('css', $codeBlockOptionsSelector);
$codeBlockOptions = $page->findAll('css', $codeBlockOptionsSelector);
$this->assertCount(2, $codeBlockOptions);
$this->assertEquals([
'Twig',
'YML',
], \array_map(static fn(NodeElement $el) => $el->getText(), $codeBlockOptions));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.