diff options
author | Carl Whittaker <carl359@gmail.com> | 2011-05-31 08:50:26 -0700 |
---|---|---|
committer | Carl Whittaker <carl359@gmail.com> | 2011-05-31 08:50:26 -0700 |
commit | 2a4270e12a4fb4b0b87c22dc24f59b7304927d8d (patch) | |
tree | 8d1241236f4dc40de949d255b7d150dd45bddb06 | |
parent | feb339dae27ff0bc312f6029cc90acc7a1862b8b (diff) | |
parent | f9708e525a81e105c0f589b96d91c0d6e5ca663d (diff) | |
download | pystache-2a4270e12a4fb4b0b87c22dc24f59b7304927d8d.tar.gz |
Merge pull request #23 from yuest/pullrequest
Inverted Sections For Empty List
-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() |