Added test for TemplateSyntaxError when variables begin with underscores.

This commit is contained in:
Mariusz Felisiak 2021-08-02 11:36:25 +02:00
parent f03ba0ad52
commit 34d5336b9d
1 changed files with 6 additions and 5 deletions

View File

@ -79,11 +79,12 @@ class ParserTests(SimpleTestCase):
Variable(r"'Some \'Better\' News'").resolve(c), "Some 'Better' News"
)
# Variables should reject access of attributes beginning with
# underscores.
msg = "Variables and attributes may not begin with underscores: 'article._hidden'"
with self.assertRaisesMessage(TemplateSyntaxError, msg):
Variable("article._hidden")
# Variables should reject access of attributes and variables beginning
# with underscores.
for name in ['article._hidden', '_article']:
msg = f"Variables and attributes may not begin with underscores: '{name}'"
with self.assertRaisesMessage(TemplateSyntaxError, msg):
Variable(name)
# Variables should raise on non string type
with self.assertRaisesMessage(TypeError, "Variable must be a string or number, got <class 'dict'>"):