From 61299c1d9d6ef59e1fe153bfea099392bfec2055 Mon Sep 17 00:00:00 2001 From: oldrind <1401019000@qq.com> Date: Thu, 28 Jan 2016 18:58:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0Cx=E7=B1=BB=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../library/think/template/taglib/.gitignore | 2 - .../library/think/template/taglib/cxTest.php | 519 ++++++++++++++++++ 2 files changed, 519 insertions(+), 2 deletions(-) delete mode 100644 tests/thinkphp/library/think/template/taglib/.gitignore create mode 100644 tests/thinkphp/library/think/template/taglib/cxTest.php diff --git a/tests/thinkphp/library/think/template/taglib/.gitignore b/tests/thinkphp/library/think/template/taglib/.gitignore deleted file mode 100644 index a3a0c8b5..00000000 --- a/tests/thinkphp/library/think/template/taglib/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore \ No newline at end of file diff --git a/tests/thinkphp/library/think/template/taglib/cxTest.php b/tests/thinkphp/library/think/template/taglib/cxTest.php new file mode 100644 index 00000000..4adbc074 --- /dev/null +++ b/tests/thinkphp/library/think/template/taglib/cxTest.php @@ -0,0 +1,519 @@ + +// +---------------------------------------------------------------------- + +/** + * 模板测试 + * @author Haotong Lin + */ + +namespace tests\thinkphp\library\think\tempplate\taglib; + +use think\Template; +use think\template\taglib\Cx; + +class templateTest extends \PHPUnit_Framework_TestCase +{ + public function testPhp() + { + $template = new template(); + $cx = new Cx($template); + + $content = << +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + } + + public function testVolist() + { + $template = new template(); + $cx = new Cx($template); + + $content = <<\$vo): \$mod = (\$key % 2 );++\$key;?> + + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + } + + public function testForeach() + { + $template = new template(); + $cx = new Cx($template); + + $content = <<\$val} + +{/foreach} +EOF; + $data = <<\$val): ?> + + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = <<\$val): ?> + + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + } + + public function testIf() + { + $template = new template(); + $cx = new Cx($template); + + $content = << +one + +two + +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + } + + public function testSwitch() + { + $template = new template(); + $cx = new Cx($template); + + $content = << + +a + + +b + + +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + } + + public function testCompare() + { + $template = new template(); + $cx = new Cx($template); + + $content = << +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = << +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = << +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = << +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = << '0'): ?> +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = <<= '0'): ?> +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = << +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = << +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = << +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = << +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + } + + public function testRange() + { + $template = new template(); + $cx = new Cx($template); + + $content = << +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = << +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + } + + public function testPresent() + { + $template = new template(); + $cx = new Cx($template); + + $content = << +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = << +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + } + + public function testEmpty() + { + $template = new template(); + $cx = new Cx($template); + + $content = << +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = << +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + } + + public function testDefined() + { + $template = new template(); + $cx = new Cx($template); + + $content = << +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = << +default + +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + } + + public function testImport() + { + $template = new template(); + $cx = new Cx($template); + + $content = << +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = << +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = << +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = << +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = << +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + + $content = << +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + } + + public function testAssign() + { + $template = new template(); + $cx = new Cx($template); + + $content = << +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + } + + public function testDefine() + { + $template = new template(); + $cx = new Cx($template); + + $content = << +EOF; + $cx->parseTag($content); + $this->assertEquals($content, $data); + } + + public function testFor() + { + $template = new template(); + + $content = <<fetch($content); + $this->expectOutputString('123456789'); + } + +}