]> git.ipfire.org Git - thirdparty/jinja.git/commitdiff
Restore original render func for non async usage
authorArmin Ronacher <armin.ronacher@active-4.com>
Wed, 28 Dec 2016 13:38:58 +0000 (14:38 +0100)
committerArmin Ronacher <armin.ronacher@active-4.com>
Wed, 28 Dec 2016 13:38:58 +0000 (14:38 +0100)
jinja2/asyncsupport.py
tests/test_async.py

index e81e83cc05f85a31b8aa57b498acc0d8aebeea0a..5c2f300dbdf2b8e684b3a45c7e77d375adee6f94 100644 (file)
@@ -34,7 +34,7 @@ def wrap_render_func(original_render):
         if not self.environment._async:
             return original_render(self, *args, **kwargs)
         loop = asyncio.get_event_loop()
-        return loop.run_until_complete(self.render_async(self, *args, **kwargs))
+        return loop.run_until_complete(self.render_async(*args, **kwargs))
     return render
 
 
index fd88805b7f350c00ade2dcc291d88468501b2949..faaf2a2f891c42e0ea73032c6abb10c4b8e7e775 100644 (file)
@@ -42,6 +42,25 @@ def test_await_on_calls():
     assert rv == '65'
 
 
+@pytest.mark.skipif(not have_async_gen, reason='No async generators')
+def test_await_on_calls_normal_render():
+    t = Template('{{ async_func() + normal_func() }}',
+                 enable_async=True)
+
+    async def async_func():
+        return 42
+
+    def normal_func():
+        return 23
+
+    rv = t.render(
+        async_func=async_func,
+        normal_func=normal_func
+    )
+
+    assert rv == '65'
+
+
 @pytest.mark.skipif(not have_async_gen, reason='No async generators')
 def test_await_and_macros():
     t = Template('{% macro foo(x) %}[{{ x }}][{{ async_func() }}]'