<?php $template = new Framework\Template(array("implementation" => new Framework\Template\Implementation\Standard())); Framework\Test::add(function () use($template) { return $template instanceof Framework\Template; }, "Template instantiates", "Template"); Framework\Test::add(function () use($template) { $template->parse("{echo 'hello world'}"); $processed = $template->process(); return $processed == "hello world"; }, "Template parses echo tag", "Template"); Framework\Test::add(function () use($template) { $template->parse("{script \$_text[] = 'foo bar' }"); $processed = $template->process(); return $processed == "foo bar"; }, "Template parses script tag", "Template"); Framework\Test::add(function () use($template) { $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"); Framework\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"); Framework\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));