function MediaTest::testMediaSplitList
Same name in other branches
- 11.x core/modules/ckeditor5/tests/src/FunctionalJavascript/MediaTest.php \Drupal\Tests\ckeditor5\FunctionalJavascript\MediaTest::testMediaSplitList()
Tests adding media to a list does not split the list.
1 call to MediaTest::testMediaSplitList()
- MediaTest::testDrupalMedia in core/
modules/ ckeditor5/ tests/ src/ FunctionalJavascript/ MediaTest.php - Tests the drupal-media tag.
File
-
core/
modules/ ckeditor5/ tests/ src/ FunctionalJavascript/ MediaTest.php, line 90
Class
- MediaTest
- @coversDefaultClass \Drupal\ckeditor5\Plugin\CKEditor5Plugin\Media @group ckeditor5 @group #slow @internal
Namespace
Drupal\Tests\ckeditor5\FunctionalJavascriptCode
protected function testMediaSplitList() : void {
$assert_session = $this->assertSession();
$editor = Editor::load('test_format');
$settings = $editor->getSettings();
// Add lists to the editor.
$settings['plugins']['ckeditor5_list'] = [
'properties' => [
'reversed' => FALSE,
'startIndex' => FALSE,
],
'multiBlock' => TRUE,
];
$settings['toolbar']['items'] = array_merge($settings['toolbar']['items'], [
'bulletedList',
'numberedList',
]);
$editor->setSettings($settings);
$editor->save();
// Add lists to the filter.
$filter_format = $editor->getFilterFormat();
$filter_format->setFilterConfig('filter_html', [
'status' => TRUE,
'settings' => [
'allowed_html' => '<p> <br> <strong> <em> <a href> <drupal-media data-entity-type data-entity-uuid data-align data-caption alt data-view-mode> <ol> <ul> <li>',
],
]);
$filter_format->save();
$this->assertSame([], array_map(function (ConstraintViolation $v) {
return (string) $v->getMessage();
}, iterator_to_array(CKEditor5::validatePair(Editor::load('test_format'), FilterFormat::load('test_format')))));
// Wrap the media with a list item.
$original_value = $this->host->body->value;
$this->host->body->value = '<ol><li>' . $original_value . '</li></ol>';
$this->host
->save();
$this->drupalGet($this->host
->toUrl('edit-form'));
$this->assertNotEmpty($upcasted_media = $assert_session->waitForElementVisible('css', '.ck-widget.drupal-media'));
// Confirm the media is wrapped by the list item on the editing view.
$assert_session->elementExists('css', 'li > .drupal-media');
// Confirm the media is not adjacent to the list on the editing view.
$assert_session->elementNotExists('css', 'ol + .drupal-media');
$editor_dom = new \DOMXPath($this->getEditorDataAsDom());
// Confirm drupal-media is wrapped by the list item.
$this->assertNotEmpty($editor_dom->query('//li/drupal-media'));
// Confirm the media is not adjacent to the list.
$this->assertEmpty($editor_dom->query('//ol/following-sibling::drupal-media'));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.