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