Commit d9aaad4e authored by Russell Keith-Magee's avatar Russell Keith-Magee
Browse files

Fixed #13352 -- Added __repr__ method for Validation Error. Thanks to elpaso66 for the report.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@12976 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 1cec6416
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -64,6 +64,11 @@ class ValidationError(Exception):
            return repr(self.message_dict)
        return repr(self.messages)

    def __repr__(self):
        if hasattr(self, 'message_dict'):
            return 'ValidationError(%s)' % repr(self.message_dict)
        return 'ValidationError(%s)' % repr(self.messages)

    def update_error_dict(self, error_dict):
        if hasattr(self, 'message_dict'):
            if error_dict:
+14 −1
Original line number Diff line number Diff line
@@ -137,7 +137,20 @@ def create_simple_test_method(validator, expected, value, num):
# Dynamically assemble a test class with the contents of TEST_DATA

class TestSimpleValidators(TestCase):
    pass
    def test_single_message(self):
        v = ValidationError('Not Valid')
        self.assertEquals(str(v), "[u'Not Valid']")
        self.assertEquals(repr(v), "ValidationError([u'Not Valid'])")

    def test_message_list(self):
        v = ValidationError(['First Problem', 'Second Problem'])
        self.assertEquals(str(v), "[u'First Problem', u'Second Problem']")
        self.assertEquals(repr(v), "ValidationError([u'First Problem', u'Second Problem'])")

    def test_message_dict(self):
        v = ValidationError({'first': 'First Problem'})
        self.assertEquals(str(v), "{'first': 'First Problem'}")
        self.assertEquals(repr(v), "ValidationError({'first': 'First Problem'})")

test_counter = 0
for validator, value, expected in TEST_DATA: