Commit 2a4270e1 by Carl Whittaker

Merge pull request #23 from yuest/pullrequest

Inverted Sections For Empty List
parents feb339da f9708e52
...@@ -11,3 +11,12 @@ class Inverted(pystache.View): ...@@ -11,3 +11,12 @@ class Inverted(pystache.View):
def two(self): def two(self):
return 'two' return 'two'
class InvertedLists(Inverted):
template_name = 'inverted'
def t(self):
return [0, 1, 2]
def f(self):
return []
...@@ -89,7 +89,7 @@ class Template(object): ...@@ -89,7 +89,7 @@ class Template(object):
elif it and hasattr(it, 'keys') and hasattr(it, '__getitem__'): elif it and hasattr(it, 'keys') and hasattr(it, '__getitem__'):
if section[2] != '^': if section[2] != '^':
replacer = self.render(inner, it) replacer = self.render(inner, it)
elif it: elif it and section[2] != '^':
insides = [] insides = []
for item in it: for item in it:
insides.append(self.render(inner, item)) insides.append(self.render(inner, item))
...@@ -154,4 +154,4 @@ class Template(object): ...@@ -154,4 +154,4 @@ class Template(object):
"""Changes the Mustache delimiter.""" """Changes the Mustache delimiter."""
self.otag, self.ctag = tag_name.split(' ') self.otag, self.ctag = tag_name.split(' ')
self.compile_regexps() self.compile_regexps()
return '' return ''
\ No newline at end of file
...@@ -4,7 +4,7 @@ import pystache ...@@ -4,7 +4,7 @@ import pystache
from examples.simple import Simple from examples.simple import Simple
from examples.complex_view import ComplexView from examples.complex_view import ComplexView
from examples.lambdas import Lambdas from examples.lambdas import Lambdas
from examples.inverted import Inverted from examples.inverted import Inverted, InvertedLists
class TestView(unittest.TestCase): class TestView(unittest.TestCase):
def test_basic(self): def test_basic(self):
...@@ -90,6 +90,10 @@ class TestView(unittest.TestCase): ...@@ -90,6 +90,10 @@ class TestView(unittest.TestCase):
view = Inverted() view = Inverted()
self.assertEquals(view.render(), """one, two, three""") self.assertEquals(view.render(), """one, two, three""")
def test_inverted_lists(self):
view = InvertedLists()
self.assertEquals(view.render(), """one, two, three""")
if __name__ == '__main__': if __name__ == '__main__':
unittest.main() unittest.main()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment