From 466f693276617c8def2c72601c402e7be4b21ad0 Mon Sep 17 00:00:00 2001 From: Dries Buytaert <dries@buytaert.net> Date: Fri, 30 Apr 2010 07:48:07 +0000 Subject: [PATCH] - Patch #755566 by effulgentsia: use of ID within theme_filter_guidelines() breaks HTML validation with more than 1 field item on a page. --- modules/filter/filter.js | 2 +- modules/filter/filter.module | 4 +++- modules/simpletest/tests/ajax.test | 8 ++------ 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/modules/filter/filter.js b/modules/filter/filter.js index 13b0277c297b..d9e2114b7c44 100644 --- a/modules/filter/filter.js +++ b/modules/filter/filter.js @@ -12,7 +12,7 @@ Drupal.behaviors.filterGuidelines = { .bind('change', function () { $(this).parents('.filter-wrapper') .find('.filter-guidelines-item').hide() - .siblings('#filter-guidelines-' + this.value).show(); + .siblings('.filter-guidelines-' + this.value).show(); }) .change(); } diff --git a/modules/filter/filter.module b/modules/filter/filter.module index b83aac959bba..795315fd65a0 100644 --- a/modules/filter/filter.module +++ b/modules/filter/filter.module @@ -1122,7 +1122,9 @@ function theme_filter_guidelines($variables) { $format = $variables['format']; $name = isset($format->name) ? '<label>' . $format->name . ':</label>' : ''; - return '<div id="filter-guidelines-' . $format->format . '" class="filter-guidelines-item">' . $name . theme('filter_tips', array('tips' => _filter_tips($format->format, FALSE))) . '</div>'; + $attributes['class'][] = 'filter-guidelines-item'; + $attributes['class'][] = 'filter-guidelines-' . $format->format; + return '<div' . drupal_attributes($attributes) . '>' . $name . theme('filter_tips', array('tips' => _filter_tips($format->format, FALSE))) . '</div>'; } /** diff --git a/modules/simpletest/tests/ajax.test b/modules/simpletest/tests/ajax.test index c10b8362bf7f..80ea29f5819f 100644 --- a/modules/simpletest/tests/ajax.test +++ b/modules/simpletest/tests/ajax.test @@ -268,9 +268,7 @@ class AJAXMultiFormTestCase extends AJAXTestCase { $this->assert(count($this->xpath($field_xpath . $field_items_xpath_suffix)) == 1, t('Found the correct number of field items on the initial page.')); $this->assertFieldByXPath($field_xpath . $button_xpath_suffix, NULL, t('Found the "add more" button on the initial page.')); } - // @todo Legacy bug of duplicate ids for filter-guidelines-FORMAT. See - // http://drupal.org/node/755566. - $this->assertNoDuplicateIds(t('Initial page contains unique IDs'), 'Other', array('filter-guidelines-1', 'filter-guidelines-2', 'filter-guidelines-3')); + $this->assertNoDuplicateIds(t('Initial page contains unique IDs'), 'Other'); // Submit the "add more" button of each form twice. After each corresponding // page update, ensure the same as above. To successfully implement @@ -286,9 +284,7 @@ class AJAXMultiFormTestCase extends AJAXTestCase { $settings = array_merge_recursive($settings, $commands[0]['settings']); $this->assert(count($this->xpath($field_xpath . $field_items_xpath_suffix)) == $i+2, t('Found the correct number of field items after an AJAX submission.')); $this->assertFieldByXPath($field_xpath . $button_xpath_suffix, NULL, t('Found the "add more" button after an AJAX submission.')); - // @todo Legacy bug of duplicate ids for filter-guidelines-FORMAT. See - // http://drupal.org/node/755566. - $this->assertNoDuplicateIds(t('Updated page contains unique IDs'), 'Other', array('filter-guidelines-1', 'filter-guidelines-2', 'filter-guidelines-3')); + $this->assertNoDuplicateIds(t('Updated page contains unique IDs'), 'Other'); } } } -- GitLab