From eb1fa831743d2dca729c2d297237761f702bdcde Mon Sep 17 00:00:00 2001 From: klkvsk Date: Thu, 11 Jul 2013 14:14:34 +0400 Subject: [PATCH] add tests for custom functions in template --- tests/cases/Fenom/FunctionsTest.php | 64 +++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 tests/cases/Fenom/FunctionsTest.php diff --git a/tests/cases/Fenom/FunctionsTest.php b/tests/cases/Fenom/FunctionsTest.php new file mode 100644 index 0000000..888a40b --- /dev/null +++ b/tests/cases/Fenom/FunctionsTest.php @@ -0,0 +1,64 @@ +fenom->addFunctionSmart('sum', __CLASS__ . '::functionSum'); + $this->fenom->addFunctionSmart('pow', __CLASS__ . '::functionPow'); + $this->fenom->addFunctionSmart('inc', __CLASS__ . '::functionInc'); + + $this->tpl('function_params_scalar.tpl', '{pow a=2 n=3}'); + $this->tpl('function_params_dynamic.tpl', '{pow a=$a n=$n}'); + $this->tpl('function_default_param_scalar.tpl', '{pow a=2}'); + $this->tpl('function_default_param_empty_array.tpl', '{sum}'); + $this->tpl('function_default_param_const.tpl', '{inc a=1}'); + $this->tpl('function_array_param.tpl', '{sum of=[1, 2, 3, 4, 5]}'); + } + + public function testFunctionWithParams() { + $output = $this->fenom->fetch('function_params_scalar.tpl'); + $this->assertEquals('8', $output); + } + + public function testFunctionWithDynamicParams() { + $output = $this->fenom->fetch('function_params_dynamic.tpl', array('a' => 3, 'n' => 4)); + $this->assertEquals('81', $output); + } + + public function testFunctionWithDefaultParamScalar() { + $output = $this->fenom->fetch('function_default_param_scalar.tpl'); + $this->assertEquals('4', $output); + } + + public function testFunctionWithDefaultParamArray() { + $output = $this->fenom->fetch('function_default_param_empty_array.tpl'); + $this->assertEquals('0', $output); + } + + public function testFunctionWithDefaultParamConst() { + $output = $this->fenom->fetch('function_default_param_const.tpl'); + $this->assertEquals('2', $output); + } + + public function testFunctionWithArrayParam() { + $output = $this->fenom->fetch('function_array_param.tpl'); + $this->assertEquals('15', $output); + } + +}