3 require_once('src/lightncandy.php');
5 $tmpdir = sys_get_temp_dir();
7 class MustacheSpecTest extends PHPUnit_Framework_TestCase
10 * @dataProvider jsonSpecProvider
12 public function testSpecs($spec)
16 $flag = LightnCandy::FLAG_MUSTACHE | LightnCandy::FLAG_ERROR_EXCEPTION | LightnCandy::FLAG_RUNTIMEPARTIAL;
18 foreach (Array($flag, $flag | LightnCandy::FLAG_STANDALONE) as $f) {
19 $php = LightnCandy::compile($spec['template'], Array(
21 'partials' => isset($spec['partials']) ? $spec['partials'] : null,
24 $renderer = LightnCandy::prepare($php);
25 $this->assertEquals($spec['expected'], $renderer($spec['data']), "[{$spec['file']}.{$spec['name']}]#{$spec['no']}:{$spec['desc']} PHP CODE: $php");
29 public function jsonSpecProvider()
33 foreach (glob('specs/mustache/specs/*.json') as $file) {
34 // Skip lambda extension
35 if (preg_match('/lambdas\\.json$/', $file)) {
40 $json = json_decode(file_get_contents($file), true);
41 $ret = array_merge($ret, array_map(function ($d) use ($file, &$i) {