3 namespace Drupal\Tests\filter\Kernel;
5 use Drupal\KernelTests\KernelTestBase;
6 use Drupal\filter\Entity\FilterFormat;
9 * Tests filter settings.
13 class FilterSettingsTest extends KernelTestBase {
20 public static $modules = ['filter'];
23 * Tests explicit and implicit default settings for filters.
25 public function testFilterDefaults() {
26 $filter_info = $this->container->get('plugin.manager.filter')->getDefinitions();
28 // Create text format using filter default settings.
29 $filter_defaults_format = FilterFormat::create([
30 'format' => 'filter_defaults',
31 'name' => 'Filter defaults',
33 $filter_defaults_format->save();
35 // Verify that default weights defined in hook_filter_info() were applied.
37 foreach ($filter_defaults_format->filters() as $name => $filter) {
38 $expected_weight = $filter_info[$name]['weight'];
39 $this->assertEqual($filter->weight, $expected_weight, format_string('@name filter weight %saved equals %default', [
41 '%saved' => $filter->weight,
42 '%default' => $expected_weight,
44 $saved_settings[$name]['weight'] = $expected_weight;
47 // Re-save the text format.
48 $filter_defaults_format->save();
49 // Reload it from scratch.
50 filter_formats_reset();
52 // Verify that saved filter settings have not been changed.
53 foreach ($filter_defaults_format->filters() as $name => $filter) {
54 $this->assertEqual($filter->weight, $saved_settings[$name]['weight'], format_string('@name filter weight %saved equals %previous', [
56 '%saved' => $filter->weight,
57 '%previous' => $saved_settings[$name]['weight'],