summaryrefslogtreecommitdiff
path: root/pystache
diff options
context:
space:
mode:
authorChris Jerdonek <chris.jerdonek@gmail.com>2012-05-04 14:43:24 -0700
committerChris Jerdonek <chris.jerdonek@gmail.com>2012-05-04 14:43:24 -0700
commit1a9ca1f74acd12f72993cbb7e19ab07b36d7cc18 (patch)
treea4c32b813a4aa7257c0416aa564d3a8a2c4576bb /pystache
parent76c8caa09fe26d8d6c644761bd8f63d6f550ab49 (diff)
parentf4ca152f335ef53b1469de338e4a2bf99f0bfde5 (diff)
downloadpystache-1a9ca1f74acd12f72993cbb7e19ab07b36d7cc18.tar.gz
Merge branch 'master' into development
Diffstat (limited to 'pystache')
-rw-r--r--pystache/__init__.py2
-rw-r--r--pystache/renderengine.py4
-rw-r--r--pystache/tests/test_context.py10
-rw-r--r--pystache/tests/test_renderengine.py15
4 files changed, 23 insertions, 8 deletions
diff --git a/pystache/__init__.py b/pystache/__init__.py
index d1fbdb1..7548c5b 100644
--- a/pystache/__init__.py
+++ b/pystache/__init__.py
@@ -10,4 +10,4 @@ from pystache.init import render, Renderer, TemplateSpec
__all__ = ['render', 'Renderer', 'TemplateSpec']
-__version__ = '0.5.2-rc' # Also change in setup.py.
+__version__ = '0.5.2-rc.1' # Also change in setup.py.
diff --git a/pystache/renderengine.py b/pystache/renderengine.py
index 6e83993..7a9df9d 100644
--- a/pystache/renderengine.py
+++ b/pystache/renderengine.py
@@ -221,8 +221,8 @@ class RenderEngine(object):
#
# TODO: should we check the arity?
new_template = element(template)
- parsed_template = self._parse(new_template, delimiters=delims)
- parts.append(parsed_template.render(context))
+ new_parsed_template = self._parse(new_template, delimiters=delims)
+ parts.append(new_parsed_template.render(context))
continue
context.push(element)
diff --git a/pystache/tests/test_context.py b/pystache/tests/test_context.py
index e6f9152..238e4b0 100644
--- a/pystache/tests/test_context.py
+++ b/pystache/tests/test_context.py
@@ -437,18 +437,18 @@ class ContextStackTestCase(unittest.TestCase, AssertIsMixin, AssertStringMixin,
def test_dot_notation__user_object(self):
name = "foo.bar"
stack = ContextStack({"foo": Attachable(bar="baz")})
- self.assertEquals(stack.get(name), "baz")
+ self.assertEqual(stack.get(name), "baz")
# Works on multiple levels, too
name = "a.b.c.d.e.f.g"
A = Attachable
stack = ContextStack({"a": A(b=A(c=A(d=A(e=A(f=A(g="w00t!"))))))})
- self.assertEquals(stack.get(name), "w00t!")
+ self.assertEqual(stack.get(name), "w00t!")
def test_dot_notation__mixed_dict_and_obj(self):
name = "foo.bar.baz.bak"
stack = ContextStack({"foo": Attachable(bar={"baz": Attachable(bak=42)})})
- self.assertEquals(stack.get(name), 42)
+ self.assertEqual(stack.get(name), 42)
def test_dot_notation__missing_attr_or_key(self):
name = "foo.bar.baz.bak"
@@ -489,11 +489,11 @@ class ContextStackTestCase(unittest.TestCase, AssertIsMixin, AssertStringMixin,
# When any element in the path is callable, it should be automatically invoked
stack = ContextStack({"foo": Attachable(bar=Attachable(baz=lambda: "Called!"))})
- self.assertEquals(stack.get(name), "Called!")
+ self.assertEqual(stack.get(name), "Called!")
class Foo(object):
def bar(self):
return Attachable(baz='Baz')
stack = ContextStack({"foo": Foo()})
- self.assertEquals(stack.get(name), "Baz")
+ self.assertEqual(stack.get(name), "Baz")
diff --git a/pystache/tests/test_renderengine.py b/pystache/tests/test_renderengine.py
index 3629708..6f4e767 100644
--- a/pystache/tests/test_renderengine.py
+++ b/pystache/tests/test_renderengine.py
@@ -529,6 +529,21 @@ class RenderTests(unittest.TestCase, AssertStringMixin, AssertExceptionMixin):
self._assert_render(u'<~bar~#bar#>', template, context)
+ def test_section__lambda__mixed_list(self):
+ """
+ Test a mixed list of lambdas and non-lambdas as a section value.
+
+ This test case is equivalent to a test submitted to the Mustache spec here:
+
+ https://github.com/mustache/spec/pull/47 .
+
+ """
+ template = '<{{#lambdas}}foo{{/lambdas}}>'
+ context = {'foo': 'bar',
+ 'lambdas': [lambda text: "~{{%s}}~" % text, 1]}
+
+ self._assert_render(u'<~bar~foo>', template, context)
+
def test_section__lambda__not_on_context_stack(self):
"""
Check that section lambdas are not pushed onto the context stack.