From 2fd7fc134cf0c0685ceac22fd858509aa43f819f Mon Sep 17 00:00:00 2001 From: Loic Bistuer Date: Wed, 18 Dec 2013 09:33:41 +0700 Subject: Refs #17413 -- Added isinstance backward compatibility on ErrorList. --- tests/forms_tests/tests/test_forms.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'tests/forms_tests') diff --git a/tests/forms_tests/tests/test_forms.py b/tests/forms_tests/tests/test_forms.py index 675565b026..f2a77cb089 100644 --- a/tests/forms_tests/tests/test_forms.py +++ b/tests/forms_tests/tests/test_forms.py @@ -15,6 +15,7 @@ from django.forms import ( NullBooleanField, PasswordInput, RadioSelect, Select, SplitDateTimeField, Textarea, TextInput, ValidationError, widgets, ) +from django.forms.utils import ErrorList from django.http import QueryDict from django.template import Template, Context from django.test import TestCase @@ -2069,3 +2070,27 @@ class FormsTestCase(TestCase): '__all__': [{'code': 'secret', 'message': 'Non-field error.'}] } self.assertEqual(errors, control) + + def test_error_list(self): + e = ErrorList() + e.append('Foo') + e.append(ValidationError('Foo%(bar)s', code='foobar', params={'bar': 'bar'})) + + self.assertTrue(isinstance(e, list)) + self.assertIn('Foo', e) + self.assertIn('Foo', forms.ValidationError(e)) + + self.assertEqual( + e.as_text(), + '* Foo\n* Foobar' + ) + + self.assertEqual( + e.as_ul(), + '' + ) + + self.assertEqual( + json.loads(e.as_json()), + [{"message": "Foo", "code": ""}, {"message": "Foobar", "code": "foobar"}] + ) -- cgit v1.3