From: David Lord Date: Fri, 7 Jul 2017 16:34:32 +0000 (-0700) Subject: add tests and changelog X-Git-Tag: 2.10~15^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=32afe631c2e4a05fbb4a35078dff46dfaf5e46eb;p=thirdparty%2Fjinja.git add tests and changelog --- diff --git a/CHANGES b/CHANGES index 6276b115..500af4e4 100644 --- a/CHANGES +++ b/CHANGES @@ -28,10 +28,12 @@ Version 2.10 - Add ``min`` and ``max`` filters. (`#475`_) - Add tests for all comparison operators: ``eq``, ``ne``, ``lt``, ``le``, ``gt``, ``ge``. (`#665`_) +- ``import`` statement cannot end with a trailing comma. (`#618`_) .. _#469: https://github.com/pallets/jinja/pull/469 .. _#475: https://github.com/pallets/jinja/pull/475 .. _#478: https://github.com/pallets/jinja/pull/478 +.. _#618: https://github.com/pallets/jinja/pull/618 .. _#665: https://github.com/pallets/jinja/pull/665 Version 2.9.6 diff --git a/tests/test_imports.py b/tests/test_imports.py index a6d5161b..4250eb9d 100644 --- a/tests/test_imports.py +++ b/tests/test_imports.py @@ -11,7 +11,8 @@ import pytest from jinja2 import Environment, DictLoader -from jinja2.exceptions import TemplateNotFound, TemplatesNotFound +from jinja2.exceptions import TemplateNotFound, TemplatesNotFound, \ + TemplateSyntaxError @pytest.fixture @@ -50,7 +51,24 @@ class TestImports(object): ) assert t.render(foo=42) == '[42|23]' - def test_trailing_comma(self, test_env): + def test_import_needs_name(self, test_env): + test_env.from_string('{% from "foo" import bar %}') + test_env.from_string('{% from "foo" import bar, baz %}') + + with pytest.raises(TemplateSyntaxError): + test_env.from_string('{% from "foo" import %}') + + def test_no_trailing_comma(self, test_env): + with pytest.raises(TemplateSyntaxError): + test_env.from_string('{% from "foo" import bar, %}') + + with pytest.raises(TemplateSyntaxError): + test_env.from_string('{% from "foo" import bar,, %}') + + with pytest.raises(TemplateSyntaxError): + test_env.from_string('{% from "foo" import, %}') + + def test_trailing_comma_with_context(self, test_env): test_env.from_string('{% from "foo" import bar, baz with context %}') test_env.from_string('{% from "foo" import bar, baz, with context %}') test_env.from_string('{% from "foo" import bar, with context %}')