added test and known issue for dot notation/implicit iterator woes.

This commit is contained in:
Justin Hileman
2010-06-02 02:08:54 -04:00
parent 1330cf1d48
commit 2018449184
2 changed files with 18 additions and 0 deletions
+2
View File
@@ -85,6 +85,8 @@ Known Issues
to all subsequent templates and partials rendered by this Mustache instance.
* Sections don't respect delimiter changes -- `delimiters` example currently fails with an
"unclosed section" exception.
* Dot notation and implicit iterators don't really play nice. A non-traversible local context is
passed to the section.
* Test coverage is incomplete.
@@ -36,4 +36,20 @@ class MustachePragmaImplicitIteratorTest extends PHPUnit_Framework_TestCase {
$this->assertEquals('foobarbaz', $m->render('{{%IMPLICIT-ITERATOR iterator=items}}{{#items}}{{items}}{{/items}}'));
}
public function testDotNotationContext() {
$m = new Mustache(null, array('items' => array(
array('index' => 1, 'name' => 'foo'),
array('index' => 2, 'name' => 'bar'),
array('index' => 3, 'name' => 'baz'),
)));
$this->assertEquals('foobarbaz', $m->render('{{%IMPLICIT-ITERATOR}}{{#items}}{{#.}}{{name}}{{/.}}{{/items}}'));
// skip the last two tests here, they just break...
$this->markTestSkipped('Implicit iterator not completely compatible with dot notation');
$this->assertEquals('123', $m->render('{{%IMPLICIT-ITERATOR iterator=i}}{{#items}}{{i.index}}{{/items}}'));
$this->assertEquals('foobarbaz', $m->render('{{%IMPLICIT-ITERATOR iterator=i}}{{#items}}{{i.name}}{{/items}}'));
}
}