From 2acf463dfed135050f54eab64884e27efdf7507d Mon Sep 17 00:00:00 2001 From: Dries Buytaert <dries@buytaert.net> Date: Fri, 5 Feb 2010 21:44:35 +0000 Subject: [PATCH] - Patch #674626 by asimmonds: fixed text format filter list not being ordered correctly. --- modules/filter/filter.admin.inc | 1 + modules/filter/filter.test | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/filter/filter.admin.inc b/modules/filter/filter.admin.inc index abd7acce294a..f0824838bd1c 100644 --- a/modules/filter/filter.admin.inc +++ b/modules/filter/filter.admin.inc @@ -182,6 +182,7 @@ function filter_admin_format_form($form, &$form_state, $format) { '#default_value' => $filters[$name]->weight, '#parents' => array('filters', $name, 'weight'), ); + $form['filters']['order'][$name]['#weight'] = $filters[$name]->weight; } // Filter settings. diff --git a/modules/filter/filter.test b/modules/filter/filter.test index a15c2683840c..64d3cb51453c 100644 --- a/modules/filter/filter.test +++ b/modules/filter/filter.test @@ -231,6 +231,9 @@ class FilterAdminTestCase extends DrupalWebTestCase { $result = db_query('SELECT * FROM {cache_filter}')->fetchObject(); $this->assertFalse($result, t('Cache cleared.')); + $elements = $this->xpath('//select[@name="filters[' . $first_filter . '][weight]"]/following::select[@name="filters[' . $second_filter . '][weight]"]'); + $this->assertTrue(!empty($elements), t('Order confirmed in admin interface.')); + // Reorder filters. $edit = array(); $edit['filters[' . $second_filter . '][weight]'] = 1; @@ -239,6 +242,9 @@ class FilterAdminTestCase extends DrupalWebTestCase { $this->assertFieldByName('filters[' . $second_filter . '][weight]', 1, t('Order saved successfully.')); $this->assertFieldByName('filters[' . $first_filter . '][weight]', 2, t('Order saved successfully.')); + $elements = $this->xpath('//select[@name="filters[' . $second_filter . '][weight]"]/following::select[@name="filters[' . $first_filter . '][weight]"]'); + $this->assertTrue(!empty($elements), t('Reorder confirmed in admin interface.')); + $result = db_query('SELECT * FROM {filter} WHERE format = :format ORDER BY weight ASC', array(':format' => $filtered)); $filters = array(); foreach ($result as $filter) { @@ -246,7 +252,7 @@ class FilterAdminTestCase extends DrupalWebTestCase { $filters[] = $filter; } } - $this->assertTrue(($filters[0]->name == $second_filter && $filters[1]->name == $first_filter), t('Order confirmed.')); + $this->assertTrue(($filters[0]->name == $second_filter && $filters[1]->name == $first_filter), t('Order confirmed in database.')); // Add format. $edit = array(); -- GitLab