From a51c4de1945be2225f20fad794cfb52d8f1f9236 Mon Sep 17 00:00:00 2001 From: Mads Jensen Date: Sun, 28 May 2017 21:37:21 +0200 Subject: Used assertRaisesMessage() to test Django's error messages. --- tests/template_tests/syntax_tests/i18n/test_blocktrans.py | 8 +++++--- tests/template_tests/syntax_tests/test_filter_syntax.py | 11 ++++++++--- tests/template_tests/syntax_tests/test_with.py | 5 +++-- 3 files changed, 16 insertions(+), 8 deletions(-) (limited to 'tests/template_tests/syntax_tests') diff --git a/tests/template_tests/syntax_tests/i18n/test_blocktrans.py b/tests/template_tests/syntax_tests/i18n/test_blocktrans.py index d8b1e807af..425e748d53 100644 --- a/tests/template_tests/syntax_tests/i18n/test_blocktrans.py +++ b/tests/template_tests/syntax_tests/i18n/test_blocktrans.py @@ -332,11 +332,13 @@ class TranslationBlockTransTagTests(SimpleTestCase): self.assertEqual(rendered, '2 andere Super-Ergebnisse') # Misuses - with self.assertRaises(TemplateSyntaxError): + msg = "Unknown argument for 'blocktrans' tag: %r." + with self.assertRaisesMessage(TemplateSyntaxError, msg % 'month="May"'): Template('{% load i18n %}{% blocktrans context with month="May" %}{{ month }}{% endblocktrans %}') - with self.assertRaises(TemplateSyntaxError): + msg = '"context" in %r tag expected exactly one argument.' % 'blocktrans' + with self.assertRaisesMessage(TemplateSyntaxError, msg): Template('{% load i18n %}{% blocktrans context %}{% endblocktrans %}') - with self.assertRaises(TemplateSyntaxError): + with self.assertRaisesMessage(TemplateSyntaxError, msg): Template( '{% load i18n %}{% blocktrans count number=2 context %}' '{{ number }} super result{% plural %}{{ number }}' diff --git a/tests/template_tests/syntax_tests/test_filter_syntax.py b/tests/template_tests/syntax_tests/test_filter_syntax.py index 738b3ed978..176475c04c 100644 --- a/tests/template_tests/syntax_tests/test_filter_syntax.py +++ b/tests/template_tests/syntax_tests/test_filter_syntax.py @@ -43,7 +43,8 @@ class FilterSyntaxTests(SimpleTestCase): """ Raise TemplateSyntaxError for a nonexistent filter """ - with self.assertRaises(TemplateSyntaxError): + msg = "Invalid filter: 'does_not_exist'" + with self.assertRaisesMessage(TemplateSyntaxError, msg): self.engine.get_template('filter-syntax05') @setup({'filter-syntax06': '{{ var|fil(ter) }}'}) @@ -52,7 +53,7 @@ class FilterSyntaxTests(SimpleTestCase): Raise TemplateSyntaxError when trying to access a filter containing an illegal character """ - with self.assertRaises(TemplateSyntaxError): + with self.assertRaisesMessage(TemplateSyntaxError, "Invalid filter: 'fil'"): self.engine.get_template('filter-syntax06') @setup({'filter-syntax07': "{% nothing_to_see_here %}"}) @@ -60,7 +61,11 @@ class FilterSyntaxTests(SimpleTestCase): """ Raise TemplateSyntaxError for invalid block tags """ - with self.assertRaises(TemplateSyntaxError): + msg = ( + "Invalid block tag on line 1: 'nothing_to_see_here'. Did you " + "forget to register or load this tag?" + ) + with self.assertRaisesMessage(TemplateSyntaxError, msg): self.engine.get_template('filter-syntax07') @setup({'filter-syntax08': "{% %}"}) diff --git a/tests/template_tests/syntax_tests/test_with.py b/tests/template_tests/syntax_tests/test_with.py index c1d501c94d..d8f24349f5 100644 --- a/tests/template_tests/syntax_tests/test_with.py +++ b/tests/template_tests/syntax_tests/test_with.py @@ -6,6 +6,7 @@ from ..utils import setup class WithTagTests(SimpleTestCase): + at_least_with_one_msg = "'with' expected at least one variable assignment" @setup({'with01': '{% with key=dict.key %}{{ key }}{% endwith %}'}) def test_with01(self): @@ -44,12 +45,12 @@ class WithTagTests(SimpleTestCase): @setup({'with-error01': '{% with dict.key xx key %}{{ key }}{% endwith %}'}) def test_with_error01(self): - with self.assertRaises(TemplateSyntaxError): + with self.assertRaisesMessage(TemplateSyntaxError, self.at_least_with_one_msg): self.engine.render_to_string('with-error01', {'dict': {'key': 50}}) @setup({'with-error02': '{% with dict.key as %}{{ key }}{% endwith %}'}) def test_with_error02(self): - with self.assertRaises(TemplateSyntaxError): + with self.assertRaisesMessage(TemplateSyntaxError, self.at_least_with_one_msg): self.engine.render_to_string('with-error02', {'dict': {'key': 50}}) -- cgit v1.3