// Case 1: no text editor available:
// - listOptions() should return an empty list of options
// - getAttachments() should return an empty #attachments array (and not
// a JS settings structure that is empty)
$this->
assertSame([],
$this->editorManager->
listOptions(), 'When no text editor is enabled, the manager works correctly.'
);
$this->
assertSame([],
$this->editorManager->
getAttachments([]), 'No attachments when no text editor is enabled and retrieving attachments for zero text formats.'
);
$this->
assertSame([],
$this->editorManager->
getAttachments(['filtered_html', 'full_html'
]), 'No attachments when no text editor is enabled and retrieving attachments for multiple text formats.'
);
// Enable the Text Editor Test module, which has the Unicorn Editor and
// clear the editor manager's cache so it is picked up.
$this->
enableModules(['editor_test'
]);
$this->editorManager =
$this->container->
get('plugin.manager.editor'
);
$this->editorManager->
clearCachedDefinitions();
// Case 2: a text editor available.
$this->
assertSame('Unicorn Editor',
(string) $this->editorManager->
listOptions()['unicorn'
], 'When some text editor is enabled, the manager works correctly.'
);
// Case 3: a text editor available & associated (but associated only with
// the 'Full HTML' text format).
$unicorn_plugin =
$this->editorManager->
createInstance('unicorn'
);
$editor = Editor::
create([ 'format' => 'full_html',