fixed the empty test and the length filter for Twig_Markup instances (closes #589)
authorFabien Potencier <fabien.potencier@gmail.com>
Mon, 9 Jan 2012 19:32:34 +0000 (20:32 +0100)
committerFabien Potencier <fabien.potencier@gmail.com>
Mon, 9 Jan 2012 19:32:51 +0000 (20:32 +0100)
CHANGELOG
lib/Twig/Markup.php
test/Twig/Tests/Fixtures/filters/length.test
test/Twig/Tests/Fixtures/tests/empty.test

index 2bfcc4c..ca96018 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,6 @@
 * 1.6.0-DEV
 
+ * fixed the empty test and the length filter for Twig_Markup instances
  * added a date function to ease date comparison
  * fixed unary operators precedence
 
index c1a1469..8a7a65f 100644 (file)
@@ -15,7 +15,7 @@
  * @package    twig
  * @author     Fabien Potencier <fabien@symfony.com>
  */
-class Twig_Markup
+class Twig_Markup implements Countable
 {
     protected $content;
 
@@ -28,4 +28,9 @@ class Twig_Markup
     {
         return $this->content;
     }
+
+    public function count()
+    {
+        return strlen($this->content);
+    }
 }
index 0196227..56217ff 100644 (file)
@@ -4,9 +4,11 @@
 {{ array|length }}
 {{ string|length }}
 {{ number|length }}
+{{ markup|length }}
 --DATA--
-return array('array' => array(1, 4), 'string' => 'foo', 'number' => 1000)
+return array('array' => array(1, 4), 'string' => 'foo', 'number' => 1000, 'markup' => new Twig_Markup('test'))
 --EXPECT--
 2
 3
 4
+4
index 23d91f6..651eba7 100644 (file)
@@ -9,6 +9,8 @@
 {{ string is empty ? 'ok' : 'ko' }}
 {{ countable_empty is empty ? 'ok' : 'ko' }}
 {{ countable_not_empty is empty ? 'ok' : 'ko' }}
+{{ markup_empty is empty ? 'ok' : 'ko' }}
+{{ markup_not_empty is empty ? 'ok' : 'ko' }}
 --DATA--
 
 class CountableStub implements Countable
@@ -25,7 +27,11 @@ class CountableStub implements Countable
         return count($this->items);
     }
 }
-return array('foo' => '', 'bar' => null, 'foobar' => false, 'array' => array(), 'zero' => 0, 'string' => '0', 'countable_empty' => new CountableStub(array()), 'countable_not_empty' => new CountableStub(array(1, 2)));
+return array(
+    'foo' => '', 'bar' => null, 'foobar' => false, 'array' => array(), 'zero' => 0, 'string' => '0',
+    'countable_empty' => new CountableStub(array()), 'countable_not_empty' => new CountableStub(array(1, 2)),
+    'markup_empty' => new Twig_Markup(''), 'markup_not_empty' => new Twig_Markup('test'),
+);
 --EXPECT--
 ok
 ok
@@ -34,4 +40,6 @@ ok
 ko
 ko
 ok
-ko
\ No newline at end of file
+ko
+ok
+ko