mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-01-19 02:56:15 +00:00
updating HtmlHelper::nestedList() to accept string type ul/ol as second attribute, also closes #3144
git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@6079 3807eeeb-6ff5-0310-8944-8be069107fe0
This commit is contained in:
parent
838dd9022d
commit
28ada1f684
2 changed files with 20 additions and 1 deletions
|
@ -513,13 +513,17 @@ class HtmlHelper extends AppHelper {
|
|||
* Build a nested list (UL/OL) out of an associative array.
|
||||
*
|
||||
* @param array $list Set of elements to list
|
||||
* @param array $attributes Additional HTML attributes of the list (ol/ul) tag
|
||||
* @param array $attributes Additional HTML attributes of the list (ol/ul) tag or if ul/ol use that as tag
|
||||
* @param array $itemAttributes Additional HTML attributes of the list item (LI) tag
|
||||
* @param string $tag Type of list tag to use (ol/ul)
|
||||
* @return string The nested list
|
||||
* @access public
|
||||
*/
|
||||
function nestedList($list, $attributes = array(), $itemAttributes = array(), $tag = 'ul') {
|
||||
if(is_string($attributes)) {
|
||||
$tag = $attributes;
|
||||
$attributes = array();
|
||||
}
|
||||
$items = $this->__nestedListItem($list, $attributes, $itemAttributes, $tag);
|
||||
return sprintf($this->tags[$tag], $this->_parseAttributes($attributes, null, ' ', ''), $items);
|
||||
}
|
||||
|
|
|
@ -138,6 +138,14 @@ class HtmlHelperTest extends UnitTestCase {
|
|||
$this->assertPattern('/<li>Item 4.3\s*<ul>\s*<li>Item 4.3.1<\/li>\s*<li>Item 4.3.2<\/li>\s*<\/ul>\s*<\/li>/', $result);
|
||||
$this->assertPattern('/<li>Item 5\s*<ul>\s*<li>Item 5.1<\/li>\s*<li>Item 5.2<\/li>\s*<\/ul>\s*<\/li>/', $result);
|
||||
|
||||
$result = $this->Html->nestedList($list, null);
|
||||
$this->assertPattern('/^<ul>\s*<li>Item 1<\/li>\s*<li>Item 2.+<\/li><li>Item 3<\/li>\s*<li>Item 4.+<\/li><li>Item 5.+<\/li><\/ul>$/', $result);
|
||||
$this->assertPattern('/<li>Item 2\s*<ul>\s*<li>Item 2.1<\/li>\s*<\/ul>\s*<\/li>/', $result);
|
||||
$this->assertPattern('/<li>Item 4\s*<ul>\s*<li>Item 4.1<\/li>\s*<li>Item 4.2<\/li>\s*<li>Item 4.3.+<\/li>\s*<\/ul>\s*<\/li>/', $result);
|
||||
$this->assertPattern('/<li>Item 4.3\s*<ul>\s*<li>Item 4.3.1<\/li>\s*<li>Item 4.3.2<\/li>\s*<\/ul>\s*<\/li>/', $result);
|
||||
$this->assertPattern('/<li>Item 5\s*<ul>\s*<li>Item 5.1<\/li>\s*<li>Item 5.2<\/li>\s*<\/ul>\s*<\/li>/', $result);
|
||||
|
||||
|
||||
$result = $this->Html->nestedList($list, array(), array(), 'ol');
|
||||
$this->assertPattern('/^<ol>\s*<li>Item 1<\/li>\s*<li>Item 2.+<\/li><li>Item 3<\/li>\s*<li>Item 4.+<\/li><li>Item 5.+<\/li><\/ol>$/', $result);
|
||||
$this->assertPattern('/<li>Item 2\s*<ol>\s*<li>Item 2.1<\/li>\s*<\/ol>\s*<\/li>/', $result);
|
||||
|
@ -145,6 +153,13 @@ class HtmlHelperTest extends UnitTestCase {
|
|||
$this->assertPattern('/<li>Item 4.3\s*<ol>\s*<li>Item 4.3.1<\/li>\s*<li>Item 4.3.2<\/li>\s*<\/ol>\s*<\/li>/', $result);
|
||||
$this->assertPattern('/<li>Item 5\s*<ol>\s*<li>Item 5.1<\/li>\s*<li>Item 5.2<\/li>\s*<\/ol>\s*<\/li>/', $result);
|
||||
|
||||
$result = $this->Html->nestedList($list, 'ol');
|
||||
$this->assertPattern('/^<ol>\s*<li>Item 1<\/li>\s*<li>Item 2.+<\/li><li>Item 3<\/li>\s*<li>Item 4.+<\/li><li>Item 5.+<\/li><\/ol>$/', $result);
|
||||
$this->assertPattern('/<li>Item 2\s*<ol>\s*<li>Item 2.1<\/li>\s*<\/ol>\s*<\/li>/', $result);
|
||||
$this->assertPattern('/<li>Item 4\s*<ol>\s*<li>Item 4.1<\/li>\s*<li>Item 4.2<\/li>\s*<li>Item 4.3.+<\/li>\s*<\/ol>\s*<\/li>/', $result);
|
||||
$this->assertPattern('/<li>Item 4.3\s*<ol>\s*<li>Item 4.3.1<\/li>\s*<li>Item 4.3.2<\/li>\s*<\/ol>\s*<\/li>/', $result);
|
||||
$this->assertPattern('/<li>Item 5\s*<ol>\s*<li>Item 5.1<\/li>\s*<li>Item 5.2<\/li>\s*<\/ol>\s*<\/li>/', $result);
|
||||
|
||||
$result = $this->Html->nestedList($list, array('class'=>'list'));
|
||||
$this->assertPattern('/^<ul[^<>]*class="list"[^<>]*>\s*<li>Item 1<\/li>\s*<li>Item 2.+<\/li><li>Item 3<\/li>\s*<li>Item 4.+<\/li><li>Item 5.+<\/li><\/ul>$/', $result);
|
||||
$this->assertPattern('/<li>Item 2\s*<ul[^<>]*class="list"[^<>]*>\s*<li>Item 2.1<\/li>\s*<\/ul>\s*<\/li>/', $result);
|
||||
|
|
Loading…
Add table
Reference in a new issue