3 class templateTest
extends PHPUnit_Framework_TestCase
5 public function testInit()
9 Haanga
::setCacheDir("tmp/");
10 Haanga
::setTemplateDir(".");
11 Haanga
::enableDebug(TRUE);
12 foreach (glob("tmp/*") as $file) {
18 * @dataProvider tplProvider
20 public function testRuntime($test_file, $data, $expected)
22 $output = Haanga
::Load($test_file, $data, TRUE);
23 /*$output = str_replace(" ", '\s', $output);
24 $expected = str_replace(" ", '\s', $expected);/**/
25 $this->assertEquals($output, $expected);
29 * @dataProvider tplProvider
31 public function testIsCached($test_file, $data, $expected)
33 /* same as above, but we ensure that the file wasn't compiled */
34 $output = Haanga
::Load($test_file, $data, TRUE);
35 $this->assertEquals($output, $expected);
36 $this->assertFalse(Haanga
::$has_compiled);
41 * @dataProvider tplProvider
43 public function testCompiler($test_file, $data, $expected)
45 $GLOBALS['argv'][1] = $test_file;
46 $GLOBALS['argv'][2] = '--notags';
47 $GLOBALS['argv'][3] = '--save';
50 Haanga_Compiler
::main_cli();
51 $code = ob_get_clean();
55 $file = basename($test_file);
56 $pos = strpos($file,'.');
57 $function = substr($file, 0, $pos).'_template';
58 $output = call_user_func($function, $data, TRUE);
60 if ($output != $expected) {
63 $this->assertEquals($output, $expected);
66 public function tplProvider()
69 foreach (glob("assert_templates/*.tpl") as $test_file) {
71 $data_file = substr($test_file, 0, -3)."php";
72 $expected = substr($test_file, 0, -3)."html";
73 if (!is_file($expected)) {
74 if (!is_file($expected.".php")) {
80 $expected = ob_get_clean();
82 $expected = file_get_contents($expected);
85 if (is_file($data_file)) {
88 $datas[] = array($test_file, $data, $expected);