From f1d3955492b38c26cad5e7ca9c169ea5b97792c0 Mon Sep 17 00:00:00 2001 From: Justin Hileman Date: Wed, 8 Jan 2014 16:28:55 -0800 Subject: [PATCH 1/3] Add a failing test for #183 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tokenization error for sections with only “0” in them. --- test/Mustache/Test/TokenizerTest.php | 29 ++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/test/Mustache/Test/TokenizerTest.php b/test/Mustache/Test/TokenizerTest.php index 87ace68..63a94d4 100644 --- a/test/Mustache/Test/TokenizerTest.php +++ b/test/Mustache/Test/TokenizerTest.php @@ -159,6 +159,35 @@ class Mustache_Test_TokenizerTest extends PHPUnit_Framework_TestCase ) ), + + // See https://github.com/bobthecow/mustache.php/issues/183 + array( + "{{# a }}0{{/ a }}", + null, + array( + array( + Mustache_Tokenizer::TYPE => Mustache_Tokenizer::T_SECTION, + Mustache_Tokenizer::NAME => 'a', + Mustache_Tokenizer::OTAG => '{{', + Mustache_Tokenizer::CTAG => '}}', + Mustache_Tokenizer::LINE => 0, + Mustache_Tokenizer::INDEX => 8, + ), + array( + Mustache_Tokenizer::TYPE => Mustache_Tokenizer::T_TEXT, + Mustache_Tokenizer::LINE => 0, + Mustache_Tokenizer::VALUE => "0", + ), + array( + Mustache_Tokenizer::TYPE => Mustache_Tokenizer::T_END_SECTION, + Mustache_Tokenizer::NAME => 'a', + Mustache_Tokenizer::OTAG => '{{', + Mustache_Tokenizer::CTAG => '}}', + Mustache_Tokenizer::LINE => 0, + Mustache_Tokenizer::INDEX => 9, + ), + ) + ), ); } } From aa77e3bfd998ac375fced672fbb3cf3217af02aa Mon Sep 17 00:00:00 2001 From: Justin Hileman Date: Wed, 8 Jan 2014 16:33:33 -0800 Subject: [PATCH 2/3] Ugh PHP. Fixes #183 --- src/Mustache/Tokenizer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Mustache/Tokenizer.php b/src/Mustache/Tokenizer.php index a5da185..c701b25 100644 --- a/src/Mustache/Tokenizer.php +++ b/src/Mustache/Tokenizer.php @@ -200,7 +200,7 @@ class Mustache_Tokenizer */ private function flushBuffer() { - if (!empty($this->buffer)) { + if (strlen($this->buffer) > 0) { $this->tokens[] = array( self::TYPE => self::T_TEXT, self::LINE => $this->line, From 39dc20e691621dfe0859d7d96ed2b3ba5327f63f Mon Sep 17 00:00:00 2001 From: Justin Hileman Date: Wed, 8 Jan 2014 16:36:02 -0800 Subject: [PATCH 3/3] Version bump v2.5.1 --- src/Mustache/Engine.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Mustache/Engine.php b/src/Mustache/Engine.php index abe17b2..0bfc9cc 100644 --- a/src/Mustache/Engine.php +++ b/src/Mustache/Engine.php @@ -23,7 +23,7 @@ */ class Mustache_Engine { - const VERSION = '2.5.0'; + const VERSION = '2.5.1'; const SPEC_VERSION = '1.1.2'; const PRAGMA_FILTERS = 'FILTERS';