// +---------------------------------------------------------------------- /** * 模板测试 * @author Haotong Lin */ namespace tests\thinkphp\library\think; use think\Template; class templateTest extends \PHPUnit_Framework_TestCase { public function testVar() { $template = new Template(); $content = << EOF; $template->parse($content); $this->assertEquals($data, $content); $content = << EOF; $template->parse($content); $this->assertEquals($data, $content); $content = << EOF; $template->parse($content); $this->assertEquals($data, $content); $content = << EOF; $template->parse($content); $this->assertEquals($data, $content); $content = << EOF; $template->parse($content); $this->assertEquals($data, $content); $content = << EOF; $template->parse($content); $this->assertEquals($data, $content); $content = << EOF; $template->parse($content); $this->assertEquals($data, $content); $content = << EOF; $template->parse($content); $this->assertEquals($data, $content); $content = << EOF; $template->parse($content); $this->assertEquals($data, $content); $content = << EOF; $template->parse($content); $this->assertEquals($data, $content); $content = << EOF; $template->parse($content); $this->assertEquals($data, $content); $content = <<parse($content); $this->assertEquals($data, $content); } public function testVarIdentify() { $config['tpl_begin'] = '<#'; $config['tpl_end'] = '#>'; $config['tpl_var_identify'] = ''; $template = new Template($config); $content = << EOF; $data = <<a) ? (is_array(\$info)?\$info['a']:\$info->a) : 'test'; ?> EOF; $template->parse($content); $this->assertEquals($data, $content); $content = << EOF; $data = <<a)==(is_array(\$info)?\$info['b']:\$info->b)) echo 'test'; ?> EOF; $template->parse($content); $this->assertEquals($data, $content); $content = << EOF; $data = <<a) !== ''?(is_array(\$info)?\$info['a']:\$info->a):'test')?'yes':'no'; ?> EOF; $template->parse($content); $this->assertEquals($data, $content); } public function testTag() { $config['tpl_path'] = dirname(__FILE__) . '/'; $config['tpl_suffix'] = '.html'; $template = new Template($config); $content = <<
{\$message} {\$name}
EOF; $template->parse($content); $this->assertEquals($data, $content); } 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 = << {\$Think.GET.action}
{\$Think.POST.action}
{\$Think.COOKIE.action}
{\$Think.COOKIE.action.name}
{\$Think.SESSION.action}
{\$Think.SESSION.action.name}
{\$Think.ENV.OS}
{\$Think.REQUEST.action}
{\$Think.CONST.SITE_NAME}
{\$Think.LANG.action}
{\$Think.CONFIG.action.name}
{\$Think.NOW}
{\$Think.VERSION}
{\$Think.LDELIM}
{\$Think.RDELIM}
{\$Think.SITE_NAME} EOF; $data = <<















EOF; $template->parse($content); $this->assertEquals($data, $content); } }