function CKEditor5HeightTest::testCKEditor5Height
Tests editor height respects rows config.
File
-
core/
modules/ ckeditor5/ tests/ src/ FunctionalJavascript/ CKEditor5HeightTest.php, line 23
Class
- CKEditor5HeightTest
- Tests ckeditor height respects field rows config.
Namespace
Drupal\Tests\ckeditor5\FunctionalJavascriptCode
public function testCKEditor5Height() : void {
$this->addNewTextFormat();
/** @var \Drupal\editor\Entity\Editor $editor */
$editor = Editor::load('ckeditor5');
$editor->setSettings([
'toolbar' => [
'items' => [
'sourceEditing',
],
],
'plugins' => [
'ckeditor5_sourceEditing' => [
'allowed_tags' => [],
],
],
])
->save();
$this->drupalGet('/node/add/page');
$this->waitForEditor();
// We expect height to be 320, but test to ensure that it's greater
// than 300. We want to ensure that we don't hard code a very specific
// value because tests might break if styles change (line-height, etc).
// Note that the default height for CKEditor5 is 47px.
$this->assertGreaterThan(300, $this->getEditorHeight());
// Check source editing height.
$this->pressEditorButton('Source');
$assert = $this->assertSession();
$this->assertNotNull($assert->waitForElementVisible('css', '.ck-source-editing-area'));
$this->assertGreaterThan(300, $this->getEditorHeight(TRUE));
// Test the max height of the editor is less that the window height.
$body = \str_repeat('<p>Llamas are cute.</p>', 100);
$node = $this->drupalCreateNode([
'body' => $body,
]);
$this->drupalGet($node->toUrl('edit-form'));
$this->assertLessThan($this->getWindowHeight(), $this->getEditorHeight());
// Check source editing has a scroll bar.
$this->pressEditorButton('Source');
$this->assertNotNull($assert->waitForElementVisible('css', '.ck-source-editing-area'));
$this->assertTrue($this->isSourceEditingScrollable());
// Double the editor row count.
\Drupal::service('entity_display.repository')->getFormDisplay('node', 'page')
->setComponent('body', [
'type' => 'text_textarea_with_summary',
'settings' => [
'rows' => 18,
],
])
->save();
// Check the height of the editor again.
$this->drupalGet('/node/add/page');
$this->waitForEditor();
// We expect height to be 640, but test to ensure that it's greater
// than 600. We want to ensure that we don't hard code a very specific
// value because tests might break if styles change (line-height, etc).
// Note that the default height for CKEditor5 is 47px.
$this->assertGreaterThan(600, $this->getEditorHeight());
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.