コード例 #1
0
ファイル: template.php プロジェクト: SwiftSchool/School
<?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));