[limb-svn] r7091 - in 3.x/trunk/limb/macro: src/tags/list tests/cases/tags/list
svn at limb-project.com
svn at limb-project.com
Sun Jul 6 12:47:39 MSD 2008
Author: cmz
Date: 2008-07-06 12:47:39 +0400 (Sun, 06 Jul 2008)
New Revision: 7091
URL: http://fisheye.limb-project.com/changelog/limb/?cs=7091
Modified:
3.x/trunk/limb/macro/src/tags/list/list.tag.php
3.x/trunk/limb/macro/tests/cases/tags/list/lmbMacroListTagTest.class.php
Log:
-- added support IteratorAggregate to the tag {{list}}
Modified: 3.x/trunk/limb/macro/src/tags/list/list.tag.php
===================================================================
--- 3.x/trunk/limb/macro/src/tags/list/list.tag.php 2008-07-04 12:19:15 UTC (rev 7090)
+++ 3.x/trunk/limb/macro/src/tags/list/list.tag.php 2008-07-06 08:47:39 UTC (rev 7091)
@@ -140,7 +140,7 @@
$item_var = $code->generateVar();
$code->writePHP("{$temp_using} = {$using};\n");
- $code->writePHP("\nif(!is_array({$temp_using}) && !({$temp_using} instanceof Iterator)) {\n");
+ $code->writePHP("\nif(!is_array({$temp_using}) && !({$temp_using} instanceof Iterator) && !({$temp_using} instanceof IteratorAggregate)) {\n");
$code->writePHP("{$temp_using} = array();}\n");
if($this->count_source)
Modified: 3.x/trunk/limb/macro/tests/cases/tags/list/lmbMacroListTagTest.class.php
===================================================================
--- 3.x/trunk/limb/macro/tests/cases/tags/list/lmbMacroListTagTest.class.php 2008-07-04 12:19:15 UTC (rev 7090)
+++ 3.x/trunk/limb/macro/tests/cases/tags/list/lmbMacroListTagTest.class.php 2008-07-06 08:47:39 UTC (rev 7091)
@@ -321,6 +321,20 @@
$macro->set('list', $list);
$this->assertEqual($macro->render(), 'List#JohnPavelSerega');
- }
+ }
+
+ function testIterationUsingIteratorAggregate()
+ {
+ $list = '{{list using="$#list" as="$item"}}{{list:item}}<?=$item?> {{/list:item}}{{/list}}';
+
+ $list_tpl = $this->_createTemplate($list, 'list.html');
+
+ $macro = $this->_createMacro($list_tpl);
+ $array = new ArrayObject(array('Bob', 'Todd'));
+ $macro->set('list', $array);
+
+ $out = $macro->render();
+ $this->assertEqual($out, 'Bob Todd ');
+ }
}
More information about the limb-svn
mailing list