summaryrefslogtreecommitdiff
path: root/modules/filter/filter.test
diff options
context:
space:
mode:
authorwebchick <webchick@24967.no-reply.drupal.org>2012-04-30 21:46:58 -0700
committerwebchick <webchick@24967.no-reply.drupal.org>2012-04-30 21:46:58 -0700
commit769405953c12f46c2866f89e46b3771e72046bd9 (patch)
treedf93c632f008fadbc9082e93f809b127b6d8b1f3 /modules/filter/filter.test
parentb9757778158c0741d4df590a4e6b7bc51727be7f (diff)
downloadbrdo-769405953c12f46c2866f89e46b3771e72046bd9.tar.gz
brdo-769405953c12f46c2866f89e46b3771e72046bd9.tar.bz2
Issue #312458 by rdickert, Heine, sun: Fixed HTML filter is not run first by default, despite default weight.
Diffstat (limited to 'modules/filter/filter.test')
-rw-r--r--modules/filter/filter.test58
1 files changed, 58 insertions, 0 deletions
diff --git a/modules/filter/filter.test b/modules/filter/filter.test
index 7592d2e8e..1a21ecbbd 100644
--- a/modules/filter/filter.test
+++ b/modules/filter/filter.test
@@ -1835,3 +1835,61 @@ class FilterHooksTestCase extends DrupalWebTestCase {
}
}
+/**
+ * Tests filter settings.
+ */
+class FilterSettingsTestCase extends DrupalWebTestCase {
+ protected $profile = 'testing';
+
+ public static function getInfo() {
+ return array(
+ 'name' => 'Filter settings',
+ 'description' => 'Tests filter settings.',
+ 'group' => 'Filter',
+ );
+ }
+
+ /**
+ * Tests explicit and implicit default settings for filters.
+ */
+ function testFilterDefaults() {
+ $filter_info = filter_filter_info();
+ $filters = array_fill_keys(array_keys($filter_info), array());
+
+ // Create text format using filter default settings.
+ $filter_defaults_format = (object) array(
+ 'format' => 'filter_defaults',
+ 'name' => 'Filter defaults',
+ 'filters' => $filters,
+ );
+ filter_format_save($filter_defaults_format);
+
+ // Verify that default weights defined in hook_filter_info() were applied.
+ $saved_settings = array();
+ foreach ($filter_defaults_format->filters as $name => $settings) {
+ $expected_weight = (isset($filter_info[$name]['weight']) ? $filter_info[$name]['weight'] : 0);
+ $this->assertEqual($settings['weight'], $expected_weight, format_string('@name filter weight %saved equals %default', array(
+ '@name' => $name,
+ '%saved' => $settings['weight'],
+ '%default' => $expected_weight,
+ )));
+ $saved_settings[$name]['weight'] = $expected_weight;
+ }
+
+ // Re-save the text format.
+ filter_format_save($filter_defaults_format);
+ // Reload it from scratch.
+ filter_formats_reset();
+ $filter_defaults_format = filter_format_load($filter_defaults_format->format);
+ $filter_defaults_format->filters = filter_list_format($filter_defaults_format->format);
+
+ // Verify that saved filter settings have not been changed.
+ foreach ($filter_defaults_format->filters as $name => $settings) {
+ $this->assertEqual($settings->weight, $saved_settings[$name]['weight'], format_string('@name filter weight %saved equals %previous', array(
+ '@name' => $name,
+ '%saved' => $settings->weight,
+ '%previous' => $saved_settings[$name]['weight'],
+ )));
+ }
+ }
+}