Put anchored dots behind {{%ANCHORED-DOT}} pragma.

This commit is contained in:
Justin Hileman
2015-08-15 12:18:04 -07:00
parent 664895f4b9
commit 1b1757987a
4 changed files with 70 additions and 13 deletions
+23 -5
View File
@@ -142,25 +142,43 @@ class Mustache_Test_ContextTest extends PHPUnit_Framework_TestCase
$context->push($a);
$this->assertEquals('a', $context->find('name'));
$this->assertEquals('a', $context->findDot('.name'));
$this->assertEquals('', $context->findDot('.name'));
$this->assertEquals('a', $context->findAnchoredDot('.name'));
$this->assertEquals(1, $context->find('number'));
$this->assertEquals(1, $context->findDot('.number'));
$this->assertEquals('', $context->findDot('.number'));
$this->assertEquals(1, $context->findAnchoredDot('.number'));
$context->push($b);
$this->assertEquals('a', $context->find('name'));
$this->assertEquals(2, $context->find('number'));
$this->assertEquals('', $context->findDot('.name'));
$this->assertEquals(2, $context->findDot('.number'));
$this->assertEquals('', $context->findDot('.number'));
$this->assertEquals('', $context->findAnchoredDot('.name'));
$this->assertEquals(2, $context->findAnchoredDot('.number'));
$this->assertEquals('baby bee', $context->findDot('child.name'));
$this->assertEquals('baby bee', $context->findDot('.child.name'));
$this->assertEquals('', $context->findDot('.child.name'));
$this->assertEquals('baby bee', $context->findAnchoredDot('.child.name'));
$context->push($c);
$this->assertEquals('cee', $context->find('name'));
$this->assertEquals('cee', $context->findDot('.name'));
$this->assertEquals('', $context->findDot('.name'));
$this->assertEquals('cee', $context->findAnchoredDot('.name'));
$this->assertEquals(2, $context->find('number'));
$this->assertEquals('', $context->findDot('.number'));
$this->assertEquals('', $context->findAnchoredDot('.number'));
$this->assertEquals('baby bee', $context->findDot('child.name'));
$this->assertEquals('', $context->findDot('.child.name'));
$this->assertEquals('', $context->findAnchoredDot('.child.name'));
}
/**
* @expectedException Mustache_Exception_InvalidArgumentException
*/
public function testAnchoredDotNotationThrowsExceptions()
{
$context = new Mustache_Context();
$context->push(array('a' => 1));
$context->findAnchoredDot('a');
}
}