Custom delimiters tweaks.

* Add basic test for custom delimiters
* Keep default delims backwards compatible
This commit is contained in:
Justin Hileman
2017-07-02 22:20:51 -07:00
parent f459a6ed3f
commit b9f04e5d26
2 changed files with 19 additions and 2 deletions
+2 -2
View File
@@ -54,7 +54,7 @@ class Mustache_Engine
private $logger;
private $strictCallables = false;
private $pragmas = array();
private $delimiters = '{{ }}';
private $delimiters;
// Services
private $tokenizer;
@@ -621,7 +621,7 @@ class Mustache_Engine
// Keep this list in alphabetical order :)
$chunks = array(
'charset' => $this->charset,
'delimiters' => $this->delimiters,
'delimiters' => $this->delimiters ? $this->delimiters : '{{ }}',
'entityFlags' => $this->entityFlags,
'escape' => isset($this->escape) ? 'custom' : 'default',
'key' => ($source instanceof Mustache_Source) ? $source->getKey() : 'source',
+17
View File
@@ -349,6 +349,23 @@ class Mustache_Test_EngineTest extends Mustache_Test_FunctionalTestCase
return array($name, $mustache);
}
public function testCustomDelimiters()
{
$mustache = new Mustache_Engine(array(
'delimiters' => '[[ ]]',
'partials' => array(
'one' => '[[> two ]]',
'two' => '[[ a ]]',
),
));
$tpl = $mustache->loadTemplate('[[# a ]][[ b ]][[/a ]]');
$this->assertEquals('c', $tpl->render(array('a' => true, 'b' => 'c')));
$tpl = $mustache->loadTemplate('[[> one ]]');
$this->assertEquals('b', $tpl->render(array('a' => 'b')));
}
}
class MustacheStub extends Mustache_Engine