public function AjaxCssTest::testCkeditorAjaxAddCss in Drupal 9
Same name and namespace in other branches
- 8 core/modules/ckeditor/tests/src/FunctionalJavascript/AjaxCssTest.php \Drupal\Tests\ckeditor\FunctionalJavascript\AjaxCssTest::testCkeditorAjaxAddCss()
Tests adding style sheets dynamically to CKEditor.
File
- core/
modules/ ckeditor/ tests/ src/ FunctionalJavascript/ AjaxCssTest.php, line 48
Class
- AjaxCssTest
- Tests delivery of CSS to CKEditor via AJAX.
Namespace
Drupal\Tests\ckeditor\FunctionalJavascriptCode
public function testCkeditorAjaxAddCss() {
$this
->drupalGet('/ckeditor_test/ajax_css');
$session = $this
->getSession();
$page = $session
->getPage();
$this
->waitOnCkeditorInstance('edit-iframe-value');
$this
->waitOnCkeditorInstance('edit-inline');
$style_color = 'rgb(255, 0, 0)';
// Add the inline CSS and assert that the style is applied to the main body,
// but not the iframe.
$page
->pressButton('Add CSS to inline CKEditor instance');
$result = $page
->waitFor(10, function () use ($style_color) {
return $this
->getEditorStyle('edit-inline', 'color') == $style_color && $this
->getEditorStyle('edit-iframe-value', 'color') != $style_color;
});
$this
->assertTrue($result);
$session
->reload();
$this
->waitOnCkeditorInstance('edit-iframe-value');
$this
->waitOnCkeditorInstance('edit-inline');
// Add the iframe CSS and assert that the style is applied to the iframe,
// but not the main body.
$page
->pressButton('Add CSS to iframe CKEditor instance');
$result = $page
->waitFor(10, function () use ($style_color) {
return $this
->getEditorStyle('edit-inline', 'color') != $style_color && $this
->getEditorStyle('edit-iframe-value', 'color') == $style_color;
});
$this
->assertTrue($result);
}