diff options
-rw-r--r-- | examples/inverted.py | 9 | ||||
-rw-r--r-- | pystache/template.py | 4 | ||||
-rw-r--r-- | tests/test_view.py | 6 |
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() |