diff options
author | Dries Buytaert <dries@buytaert.net> | 2009-12-28 20:58:08 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2009-12-28 20:58:08 +0000 |
commit | 0e48fc4eced57b2d8dc7e3fe336b49e83a97663a (patch) | |
tree | 43090cef27e84ecaab880aa86c6059a8e9e0e3c3 | |
parent | e174039d6fc745c851e8ca5ce37a38dafd34cfe8 (diff) | |
download | brdo-0e48fc4eced57b2d8dc7e3fe336b49e83a97663a.tar.gz brdo-0e48fc4eced57b2d8dc7e3fe336b49e83a97663a.tar.bz2 |
- Patch #668150 by mfb: fxed theme_item_list() when used with nested lists.
-rw-r--r-- | includes/theme.inc | 3 | ||||
-rw-r--r-- | modules/simpletest/tests/theme.test | 28 |
2 files changed, 30 insertions, 1 deletions
diff --git a/includes/theme.inc b/includes/theme.inc index a4cb7fef9..9c7b767bb 100644 --- a/includes/theme.inc +++ b/includes/theme.inc @@ -1926,7 +1926,8 @@ function theme_item_list($variables) { $data = $item; } if (count($children) > 0) { - $data .= theme_item_list($children, NULL, $type, $attributes); // Render nested list + // Render nested list. + $data .= theme_item_list(array('items' => $children, 'title' => NULL, 'type' => $type, 'attributes' => $attributes)); } if ($i == 0) { $attributes['class'][] = 'first'; diff --git a/modules/simpletest/tests/theme.test b/modules/simpletest/tests/theme.test index 9b5c5c2d2..ff6250546 100644 --- a/modules/simpletest/tests/theme.test +++ b/modules/simpletest/tests/theme.test @@ -93,3 +93,31 @@ class ThemeTableUnitTest extends DrupalWebTestCase { drupal_static_reset('drupal_add_js'); } } + +/** + * Unit tests for theme_item_list(). + */ +class ThemeItemListUnitTest extends DrupalWebTestCase { + public static function getInfo() { + return array( + 'name' => 'Theme item list', + 'description' => 'Test the theme_item_list() function.', + 'group' => 'Theme', + ); + } + + /** + * Test nested list rendering. + */ + function testNestedList() { + $items = array('a', array('data' => 'b', 'children' => array('c', 'd')), 'e'); + $expected = '<div class="item-list"><ul><li class="first">a</li> +<li>b<div class="item-list"><ul><li class="first">c</li> +<li class="last">d</li> +</ul></div></li> +<li class="last">e</li> +</ul></div>'; + $output = theme('item_list', array('items' => $items, 'type' => 'ul', 'title' => NULL, 'attributes' => array())); + $this->assertIdentical($expected, $output, 'Nested list is rendered correctly.'); + } +} |