summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Whittaker <carl359@gmail.com>2011-05-31 08:50:26 -0700
committerCarl Whittaker <carl359@gmail.com>2011-05-31 08:50:26 -0700
commit2a4270e12a4fb4b0b87c22dc24f59b7304927d8d (patch)
tree8d1241236f4dc40de949d255b7d150dd45bddb06
parentfeb339dae27ff0bc312f6029cc90acc7a1862b8b (diff)
parentf9708e525a81e105c0f589b96d91c0d6e5ca663d (diff)
downloadpystache-2a4270e12a4fb4b0b87c22dc24f59b7304927d8d.tar.gz
Merge pull request #23 from yuest/pullrequest
Inverted Sections For Empty List
-rw-r--r--examples/inverted.py9
-rw-r--r--pystache/template.py4
-rw-r--r--tests/test_view.py6
3 files changed, 16 insertions, 3 deletions
diff --git a/examples/inverted.py b/examples/inverted.py
index 1895050..660b932 100644
--- a/examples/inverted.py
+++ b/examples/inverted.py
@@ -11,3 +11,12 @@ class Inverted(pystache.View):
def two(self):
return 'two'
+
+class InvertedLists(Inverted):
+ template_name = 'inverted'
+
+ def t(self):
+ return [0, 1, 2]
+
+ def f(self):
+ return []
diff --git a/pystache/template.py b/pystache/template.py
index 0d0859f..96aaeca 100644
--- a/pystache/template.py
+++ b/pystache/template.py
@@ -89,7 +89,7 @@ class Template(object):
elif it and hasattr(it, 'keys') and hasattr(it, '__getitem__'):
if section[2] != '^':
replacer = self.render(inner, it)
- elif it:
+ elif it and section[2] != '^':
insides = []
for item in it:
insides.append(self.render(inner, item))
@@ -154,4 +154,4 @@ class Template(object):
"""Changes the Mustache delimiter."""
self.otag, self.ctag = tag_name.split(' ')
self.compile_regexps()
- return '' \ No newline at end of file
+ return ''
diff --git a/tests/test_view.py b/tests/test_view.py
index 85ee8e4..814d2de 100644
--- a/tests/test_view.py
+++ b/tests/test_view.py
@@ -4,7 +4,7 @@ import pystache
from examples.simple import Simple
from examples.complex_view import ComplexView
from examples.lambdas import Lambdas
-from examples.inverted import Inverted
+from examples.inverted import Inverted, InvertedLists
class TestView(unittest.TestCase):
def test_basic(self):
@@ -90,6 +90,10 @@ class TestView(unittest.TestCase):
view = Inverted()
self.assertEquals(view.render(), """one, two, three""")
+ def test_inverted_lists(self):
+ view = InvertedLists()
+ self.assertEquals(view.render(), """one, two, three""")
+
if __name__ == '__main__':
unittest.main()