From 5770c5aea9460166e556f3e6523027b9111cf514 Mon Sep 17 00:00:00 2001 From: Ivan Shalganov Date: Thu, 19 Sep 2013 23:10:19 +0400 Subject: [PATCH] Disable problem code. Add more tests --- src/Fenom/Compiler.php | 18 +++++++++--------- tests/cases/Fenom/ProviderTest.php | 12 ++++++++++++ tests/cases/Fenom/TokenizerTest.php | 8 ++++++++ 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/src/Fenom/Compiler.php b/src/Fenom/Compiler.php index 59ef3f0..0fe0c30 100644 --- a/src/Fenom/Compiler.php +++ b/src/Fenom/Compiler.php @@ -570,12 +570,12 @@ class Compiler $tpl->addDepend($donor); return '?>' . $donor->getBody() . '_compatible = true; - return '$donor = $tpl->getStorage()->getTemplate(' . $cname . ', \Fenom\Template::EXTENDED);' . PHP_EOL . - '$donor->fetch((array)$tpl);' . PHP_EOL . - '$tpl->b += (array)$donor->b'; +// $tpl->_compatible = true; +// return '$donor = $tpl->getStorage()->getTemplate(' . $cname . ', \Fenom\Template::EXTENDED);' . PHP_EOL . +// '$donor->fetch((array)$tpl);' . PHP_EOL . +// '$tpl->b += (array)$donor->b'; } } @@ -1000,10 +1000,10 @@ class Compiler $tag = $tpl->getStorage()->getTag($func, $tpl); if ($tag["type"] == \Fenom::INLINE_FUNCTION) { $code = $tpl->parseAct($tokens); - } elseif ($tag["type"] == \Fenom::BLOCK_FUNCTION) { - $code = $tpl->parseAct($tokens); - $tpl->getLastScope()->escape = false; - return $code; +// } elseif ($tag["type"] == \Fenom::BLOCK_FUNCTION) { +// $code = $tpl->parseAct($tokens); +// $tpl->getLastScope()->escape = false; +// return $code; } else { throw new InvalidUsageException("Raw mode allow for expressions or functions"); } diff --git a/tests/cases/Fenom/ProviderTest.php b/tests/cases/Fenom/ProviderTest.php index bbd1cd7..3d684c5 100644 --- a/tests/cases/Fenom/ProviderTest.php +++ b/tests/cases/Fenom/ProviderTest.php @@ -102,5 +102,17 @@ class ProviderTest extends TestCase "template2.tpl" ), $list); } + + public function testRm() { + $this->assertTrue(is_dir(FENOM_RESOURCES . '/template/sub')); + Provider::rm(FENOM_RESOURCES . '/template/sub'); + $this->assertFalse(is_dir(FENOM_RESOURCES . '/template/sub')); + $this->assertTrue(is_file(FENOM_RESOURCES . '/template/template1.tpl')); + Provider::rm(FENOM_RESOURCES . '/template/template1.tpl'); + $this->assertFalse(is_file(FENOM_RESOURCES . '/template/template1.tpl')); + $this->assertTrue(is_file(FENOM_RESOURCES . '/template/template2.tpl')); + Provider::clean(FENOM_RESOURCES . '/template/'); + $this->assertFalse(is_file(FENOM_RESOURCES . '/template/template2.tpl')); + } } diff --git a/tests/cases/Fenom/TokenizerTest.php b/tests/cases/Fenom/TokenizerTest.php index 5fbfb42..6bb3dc6 100644 --- a/tests/cases/Fenom/TokenizerTest.php +++ b/tests/cases/Fenom/TokenizerTest.php @@ -10,6 +10,7 @@ class TokenizerTest extends \PHPUnit_Framework_TestCase { $code = 'hello, please resolve this example: sin($x)+tan($x*$t) = {U|[0,1]}'; $tokens = new Tokenizer($code); + $this->assertSame(27, $tokens->count()); $this->assertSame($tokens, $tokens->back()); $this->assertSame(T_STRING, $tokens->key()); $this->assertSame("hello", $tokens->current()); @@ -55,6 +56,8 @@ class TokenizerTest extends \PHPUnit_Framework_TestCase $this->assertFalse($tokens->is(T_DNUMBER)); $this->assertFalse($tokens->is(":")); $this->assertSame("(", $tokens->getNext("(", ")")); + $this->assertTrue($tokens->hasBackList(T_STRING, ':')); + $this->assertFalse($tokens->hasBackList(T_LNUMBER, ':')); $tokens->next(); $tokens->next(); @@ -87,6 +90,11 @@ class TokenizerTest extends \PHPUnit_Framework_TestCase $this->assertSame(")", $tokens->current()); $this->assertTrue($tokens->isLast()); $this->assertSame($tokens, $tokens->next()); + $tokens->p = 1000; + $this->assertSame($tokens, $tokens->next()); + $tokens->p = -1000; + $this->assertSame($tokens, $tokens->back()); + $this->assertNull($tokens->undef); } }