From 4bc443e834c9945de84fb42eb6ad756fe8cca5e3 Mon Sep 17 00:00:00 2001 From: majortom731 Date: Wed, 12 Mar 2014 19:34:15 +0100 Subject: [PATCH] Added testHelperSubexpressions() --- tests/Xamin/HandlebarsTest.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/tests/Xamin/HandlebarsTest.php b/tests/Xamin/HandlebarsTest.php index 6ad6644..75dc2ec 100644 --- a/tests/Xamin/HandlebarsTest.php +++ b/tests/Xamin/HandlebarsTest.php @@ -774,4 +774,27 @@ class HandlebarsTest extends \PHPUnit_Framework_TestCase } + /** + * Helper subexpressions test + */ + public function testHelperSubexpressions() + { + $loader = new \Handlebars\Loader\StringLoader(); + $engine = new \Handlebars\Handlebars(array('loader' => $loader)); + $engine->addHelper('test', function ($template, $context, $arg) { + return $arg.'Test.'; + }); + + // assert that nested syntax is accepted and sub-helper is run + $this->assertEquals('Test.Test.', $engine->render('{{test (test)}}', array())); + + $engine->addHelper('add', function ($template, $context, $arg) { + $values = explode( " ", $arg ); + return $values[0] + $values[1]; + }); + + // assert that subexpression result is inserted correctly as argument to top level helper + $this->assertEquals('42', $engine->render('{{add 21 (add 10 (add 5 6))}}', array())); + } + } \ No newline at end of file