From: Armin Ronacher Date: Wed, 28 Dec 2016 13:38:58 +0000 (+0100) Subject: Restore original render func for non async usage X-Git-Tag: 2.9~75 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c90534875ffc072341ba25dbec4e8bb740db3e1;p=thirdparty%2Fjinja.git Restore original render func for non async usage --- diff --git a/jinja2/asyncsupport.py b/jinja2/asyncsupport.py index e81e83cc..5c2f300d 100644 --- a/jinja2/asyncsupport.py +++ b/jinja2/asyncsupport.py @@ -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 diff --git a/tests/test_async.py b/tests/test_async.py index fd88805b..faaf2a2f 100644 --- a/tests/test_async.py +++ b/tests/test_async.py @@ -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() }}]'