From 8de2a44064ca11749579a5887f59821fa35e1fdc Mon Sep 17 00:00:00 2001 From: Andrey Maslov Date: Tue, 23 Dec 2014 17:51:36 +0200 Subject: [1.7.x] Fixed #24008 -- Fixed ValidationError crash with list of dicts. Backport of 7a878ca5cb50ad65fc465cb263a44cc93629f75c from master --- tests/forms_tests/tests/test_utils.py | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) (limited to 'tests/forms_tests') diff --git a/tests/forms_tests/tests/test_utils.py b/tests/forms_tests/tests/test_utils.py index f909bb9893..e7d87b8a51 100644 --- a/tests/forms_tests/tests/test_utils.py +++ b/tests/forms_tests/tests/test_utils.py @@ -45,9 +45,31 @@ class FormsUtilsTestCase(TestCase): self.assertHTMLEqual(str(ErrorList(ValidationError(["Error one.", "Error two."]).messages)), '') + # Can take a dict. + self.assertHTMLEqual( + str(ErrorList(sorted(ValidationError({'error_1': "1. Error one.", 'error_2': "2. Error two."}).messages))), + '' + ) + # Can take a mixture in a list. - self.assertHTMLEqual(str(ErrorList(ValidationError(["First error.", "Not \u03C0.", ugettext_lazy("Error.")]).messages)), - '') + self.assertHTMLEqual( + str(ErrorList(sorted(ValidationError([ + "1. First error.", + "2. Not \u03C0.", + ugettext_lazy("3. Error."), + { + 'error_1': "4. First dict error.", + 'error_2': "5. Second dict error.", + }, + ]).messages))), + '' + ) @python_2_unicode_compatible class VeryBadError: -- cgit v1.3