1 filter_js_settings.test | public FilterSettingsAttachedTestCase::testJavascriptSettingsAttached() |
Test that the JavaScript settings attached to page node form are correct.
File
- core/
modules/ filter/ tests/ filter_js_settings.test, line 82 - Functional tests for the Filter module.
Class
- FilterSettingsAttachedTestCase
- Test functionality specific to Filter module's attach behavior.
Code
public function testJavascriptSettingsAttached() {
// Snippets from the script tag containing the settings.
$empty_settings = '"filter":{"formats":[]}';
$basic_settings = '"filter":{"formats":{"basic":{"filterSettings":[],"editor":"ckeditor5","editorSettings":';
$this->backdropGet('node/add/page');
$script_tag = $this->xpath('//script[contains(text(), :string)]', array(':string' => 'window.Backdrop'));
$js_settings = (string) $script_tag[0];
$this->assertFalse(strpos($js_settings, $empty_settings) > 0, 'JavaScript setting for filter formats is not empty');
$this->assertTrue(strpos($js_settings, $basic_settings) > 0, 'JavaScript setting for filter formats contain basic format');
// Move body field below content field and check again.
config_set('field.instance.node.page.body', 'widget.weight', 7);
field_info_cache_clear();
$this->backdropGet('node/add/page');
$script_tag = $this->xpath('//script[contains(text(), :string)]', array(':string' => 'window.Backdrop'));
$js_settings = (string) $script_tag[0];
$this->assertFalse(strpos($js_settings, $empty_settings) > 0, 'After switching field order, JavaScript setting for filter formats is not empty');
$this->assertTrue(strpos($js_settings, $basic_settings) > 0, 'After switching field order, JavaScript setting for filter formats contain basic format');
}