/** * test variable access */ public function testVariableAccess() { $loader = new \Handlebars\Loader\StringLoader(); $engine = \Handlebars\Handlebars::factory(); $engine->setLoader($loader); $var = new \StdClass(); $var->x = 'var-x'; $var->y = array('z' => 'var-y-z'); $this->assertEquals('test', $engine->render('{{var}}', array('var' => 'test'))); $this->assertEquals('var-x', $engine->render('{{var.x}}', array('var' => $var))); $this->assertEquals('var-y-z', $engine->render('{{var.y.z}}', array('var' => $var))); // Access parent context in with helper $this->assertEquals('var-x', $engine->render('{{#with var.y}}{{../var.x}}{{/with}}', array('var' => $var))); $obj = new DateTime(); $time = $obj->getTimestamp(); $this->assertEquals($time, $engine->render('{{time.getTimestamp}}', array('time' => $obj))); }