فهرست منبع

Improve test coverage for custom escapers and charsets.

Justin Hileman 13 سال پیش
والد
کامیت
12d6884b4b
1فایلهای تغییر یافته به همراه37 افزوده شده و 5 حذف شده
  1. 37 5
      test/Mustache/Test/CompilerTest.php

+ 37 - 5
test/Mustache/Test/CompilerTest.php

@@ -42,11 +42,43 @@ class Mustache_Test_CompilerTest extends PHPUnit_Framework_TestCase
                 'return $buffer;',
             )),
 
-            array('', array($this->createTextToken('TEXT')), 'Monkey', true, 'ISO-8859-1', array(
-                "\nclass Monkey extends Mustache_Template",
-                '$buffer .= $indent . \'TEXT\';',
-                'return $buffer;',
-            )),
+            array(
+                '',
+                array(
+                    array(
+                        Mustache_Tokenizer::TYPE => Mustache_Tokenizer::T_ESCAPED,
+                        Mustache_Tokenizer::NAME => 'name',
+                    )
+                ),
+                'Monkey',
+                true,
+                'ISO-8859-1',
+                array(
+                    "\nclass Monkey extends Mustache_Template",
+                    '$value = $this->resolveValue($context->find(\'name\'), $context, $indent);',
+                    '$buffer .= $indent . call_user_func($this->mustache->getEscape(), $value);',
+                    'return $buffer;',
+                )
+            ),
+
+            array(
+                '',
+                array(
+                    array(
+                        Mustache_Tokenizer::TYPE => Mustache_Tokenizer::T_ESCAPED,
+                        Mustache_Tokenizer::NAME => 'name',
+                    )
+                ),
+                'Monkey',
+                false,
+                'ISO-8859-1',
+                array(
+                    "\nclass Monkey extends Mustache_Template",
+                    '$value = $this->resolveValue($context->find(\'name\'), $context, $indent);',
+                    '$buffer .= $indent . htmlspecialchars($value, ENT_COMPAT, \'ISO-8859-1\');',
+                    'return $buffer;',
+                )
+            ),
 
             array(
                 '',