From 661b3ecd9a358ae0095949bde832b063568a294c Mon Sep 17 00:00:00 2001 From: Chris Jerdonek Date: Fri, 4 May 2012 14:29:09 -0700 Subject: Fixed an issue with list section values mixing lambdas and non-lambdas. --- pystache/renderengine.py | 4 ++-- pystache/tests/test_renderengine.py | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/pystache/renderengine.py b/pystache/renderengine.py index e1d57e4..bdbb30a 100644 --- a/pystache/renderengine.py +++ b/pystache/renderengine.py @@ -208,8 +208,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_renderengine.py b/pystache/tests/test_renderengine.py index d7f6bf7..b13e246 100644 --- a/pystache/tests/test_renderengine.py +++ b/pystache/tests/test_renderengine.py @@ -517,6 +517,21 @@ class RenderTests(unittest.TestCase, AssertStringMixin): 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. -- cgit v1.2.1 From e5b1faab05282cc2f26f452bed8acf7cb6935089 Mon Sep 17 00:00:00 2001 From: Chris Jerdonek Date: Fri, 4 May 2012 14:34:32 -0700 Subject: Fixed unittest warnings with Python 3: assertEquals() is deprecated. --- pystache/tests/test_context.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pystache/tests/test_context.py b/pystache/tests/test_context.py index 0c5097b..d432428 100644 --- a/pystache/tests/test_context.py +++ b/pystache/tests/test_context.py @@ -408,18 +408,18 @@ class ContextStackTests(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" @@ -460,11 +460,11 @@ class ContextStackTests(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") -- cgit v1.2.1 From 83b7502e5ad6c8767707da7016b11ac0232649e2 Mon Sep 17 00:00:00 2001 From: Chris Jerdonek Date: Fri, 4 May 2012 14:37:13 -0700 Subject: Bumped version from 0.5.2-rc to 0.5.2-rc.1. --- pystache/__init__.py | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 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/setup.py b/setup.py index fd4b3a1..dfe125f 100644 --- a/setup.py +++ b/setup.py @@ -72,7 +72,7 @@ else: # print("Using: version %s of %s" % (repr(dist.__version__), repr(dist))) -VERSION = '0.5.2-rc' # Also change in pystache/__init__.py. +VERSION = '0.5.2-rc.1' # Also change in pystache/__init__.py. HISTORY_PATH = 'HISTORY.rst' LICENSE_PATH = 'LICENSE' -- cgit v1.2.1