/** * calculate based on test * * @param \Example\Test $test * @return int */ public function calculate(Test $test) { return $test->add(1, 2); }
$template->parse("\n {foreach \$number in \$numbers}{echo \$number_i},{echo \$number},{/foreach}"); $processed = $template->process(array("numbers" => array(1, 2, 3))); return trim($processed) == "0,1,1,2,2,3,"; }, "Template parses foreach tag", "Template"); Test::add(function () use($template) { $template->parse("\n {for \$number in \$numbers}{echo \$number_i},{echo \$number},{/for}\n "); $processed = $template->process(array("numbers" => array(1, 2, 3))); return trim($processed) == "0,1,1,2,2,3,"; }, "Template parses for tag", "Template"); Test::add(function () use($template) { $template->parse("\n {if \$check == \"yes\"}yes{/if}\n {elseif \$check == \"maybe\"}yes{/elseif}\n {else}yes{/else}\n "); $yes = $template->process(array("check" => "yes")); $maybe = $template->process(array("check" => "maybe")); $no = $template->process(array("check" => null)); return $yes == $maybe && $maybe == $no; }, "Template parses if, else and elseif tags", "Template"); Test::add(function () use($template) { $template->parse("\n {macro foo(\$number)}\n {echo \$number + 2}\n {/macro}\n\n {echo foo(2)}\n "); $processed = $template->process(); return $processed == 4; }, "Template parses macro tag", "Template"); Test::add(function () use($template) { $template->parse("\n {literal}\n {echo \"hello world\"}\n {/literal}\n "); $processed = $template->process(); return trim($processed) == "{echo \"hello world\"}"; }, "Template parses literal tag", "Template"); ////////////////////////////// $tests = Test::run(); echo '<pre>'; print_r($tests); echo '</pre>';