Example #1
0
    public function testThinkVar()
    {
        $config['tpl_begin'] = '{';
        $config['tpl_end'] = '}';
        $template = new Template($config);
        $_SERVER['SERVER_NAME'] = 'server_name';
        $_GET['action'] = 'action';
        $_POST['action'] = 'action';
        \think\Cookie::set('action', ['name' => 'name']);
        \think\Session::set('action', ['name' => 'name']);
        define('SITE_NAME', 'site_name');
        $content = <<<EOF
{\$Think.SERVER.SERVER_NAME}<br/>
{\$Think.GET.action}<br/>
{\$Think.POST.action}<br/>
{\$Think.COOKIE.action}<br/>
{\$Think.COOKIE.action.name}<br/>
{\$Think.SESSION.action}<br/>
{\$Think.SESSION.action.name}<br/>
{\$Think.ENV.OS}<br/>
{\$Think.REQUEST.action}<br/>
{\$Think.CONST.SITE_NAME}<br/>
{\$Think.LANG.action}<br/>
{\$Think.CONFIG.action.name}<br/>
{\$Think.NOW}<br/>
{\$Think.VERSION}<br/>
{\$Think.LDELIM}<br/>
{\$Think.RDELIM}<br/>
{\$Think.SITE_NAME}
EOF;
        $data = <<<EOF
<?php echo \$_SERVER['SERVER_NAME']; ?><br/>
<?php echo \$_GET['action']; ?><br/>
<?php echo \$_POST['action']; ?><br/>
<?php echo \\think\\Cookie::get('action'); ?><br/>
<?php echo \$_COOKIE['action']['name']; ?><br/>
<?php echo \\think\\Session::get('action'); ?><br/>
<?php echo \$_SESSION['action']['name']; ?><br/>
<?php echo \$_ENV['OS']; ?><br/>
<?php echo \$_REQUEST['action']; ?><br/>
<?php echo SITE_NAME; ?><br/>
<?php echo \\think\\Lang::get('action'); ?><br/>
<?php echo \\think\\Config::get('action.name'); ?><br/>
<?php echo date('Y-m-d g:i a',time()); ?><br/>
<?php echo THINK_VERSION; ?><br/>
<?php echo '{'; ?><br/>
<?php echo '}'; ?><br/>
<?php echo SITE_NAME; ?>
EOF;
        $template->parse($content);
        $this->assertEquals($data, $content);
    }
Example #2
0
 public function testVarGet()
 {
     $template = new Template();
     $data = ['a' => 'a', 'b' => 'b'];
     $template->assign($data);
     $this->assertEquals($data, $template->get());
 }
Example #3
0
 public function testVarAssign()
 {
     $template = new Template();
     $template->assign('name', 'value');
     $value = $template->get('name');
     $this->assertEquals('value', $value);
 }
Example #4
0
    public function testTag()
    {
        $template = new Template();
        $content = <<<EOF
{if \$var.a==\$var.b}
one
{elseif !empty(\$var.a) /}
two
{else /}
default
{/if}
EOF;
        $data = <<<EOF
<?php if(\$var['a']==\$var['b']): ?>
one
<?php elseif(!empty(\$var['a'])): ?>
two
<?php else: ?>
default
<?php endif; ?>
EOF;
        $template->parse($content);
        $this->assertEquals($content, $data);
        $content = <<<EOF
{switch \$var}
{case \$a /}
a
{/case}
{case b}
b
{/case}
{default /}
default
{/switch}
EOF;
        $data = <<<EOF
<?php switch(\$var): ?>
<?php case \$a: ?>
a
<?php break; ?>
<?php case "b": ?>
b
<?php break; ?>
<?php default: ?>
default
<?php endswitch; ?>
EOF;
        $template->parse($content);
        $this->assertEquals($content, $data);
        $content = <<<EOF
{foreach \$list as \$key=>\$val}

{/foreach}
EOF;
        $data = <<<EOF
<?php foreach(\$list as \$key=>\$val): ?>

<?php endforeach; ?>
EOF;
        $template->parse($content);
        $this->assertEquals($content, $data);
        $content = <<<EOF
{foreach name="list" id="val" key="key"}

{/foreach}
EOF;
        $data = <<<EOF
<?php if(is_array(\$list)): foreach(\$list as \$key=>\$val): ?>

<?php endforeach; endif; ?>
EOF;
        $template->parse($content);
        $this->assertEquals($content, $data);
    }
Example #5
0
 public function testIsCache()
 {
     $template = new Template(['cache_id' => '__CACHE_ID__', 'display_cache' => true]);
     $this->assertTrue($template->isCache('__CACHE_ID__'));
     $template->display_cache = false;
     $this->assertTrue(!$template->isCache('__CACHE_ID__'));
 }