public function testFind() { $context = new Mustache_Context(); $dummy = new Mustache_Test_TestDummy(); $obj = new StdClass(); $obj->name = 'obj'; $arr = array('a' => array('b' => array('c' => 'see')), 'b' => 'bee'); $string = 'some arbitrary string'; $context->push($dummy); $this->assertEquals('dummy', $context->find('name')); $context->push($obj); $this->assertEquals('obj', $context->find('name')); $context->pop(); $this->assertEquals('dummy', $context->find('name')); $dummy->name = 'dummyer'; $this->assertEquals('dummyer', $context->find('name')); $context->push($arr); $this->assertEquals('bee', $context->find('b')); $this->assertEquals('see', $context->findDot('a.b.c')); $dummy->name = 'dummy'; $context->push($string); $this->assertSame($string, $context->last()); $this->assertEquals('dummy', $context->find('name')); $this->assertEquals('see', $context->findDot('a.b.c')); $this->assertEquals('<foo>', $context->find('foo')); $this->assertEquals('<bar>', $context->findDot('bar')); }
protected function prepareContextStack($context = null) { $stack = new Mustache_Context(); $helpers = $this->mustache->getHelpers(); if (!$helpers->isEmpty()) { $stack->push($helpers); } if (!empty($context)) { $stack->push($context); } return $stack; }
/** * @expectedException Mustache_Exception_InvalidArgumentException */ public function testAnchoredDotNotationThrowsExceptions() { $context = new Mustache_Context(); $context->push(array('a' => 1)); $context->findAnchoredDot('a'); }