Commit 56b37bf1 authored by Aymeric Augustin's avatar Aymeric Augustin
Browse files

Fixed #17499 -- Ensured assertFieldOutput works for fields that customize the...

Fixed #17499 -- Ensured assertFieldOutput works for fields that customize the "required" error message. Thanks dpifke for the report and patch, and claudep for the tests.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@17345 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 4629668f
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -31,7 +31,7 @@ from django.test.client import Client
from django.test.utils import (get_warnings_state, restore_warnings_state,
    override_settings)
from django.utils import simplejson, unittest as ut2
from django.utils.encoding import smart_str
from django.utils.encoding import smart_str, force_unicode
from django.views.static import serve

__all__ = ('DocTestRunner', 'OutputChecker', 'TestCase', 'TransactionTestCase',
@@ -335,7 +335,7 @@ class SimpleTestCase(ut2.TestCase):
                optional.clean(input)
            self.assertEqual(context_manager.exception.messages, errors)
        # test required inputs
        error_required = [u'This field is required.']
        error_required = [force_unicode(required.error_messages['required'])]
        for e in EMPTY_VALUES:
            with self.assertRaises(ValidationError) as context_manager:
                required.clean(e)
+7 −1
Original line number Diff line number Diff line
from __future__ import with_statement, absolute_import

from django.forms import EmailField
from django.forms import EmailField, IntegerField
from django.test import SimpleTestCase, TestCase, skipUnlessDBFeature
from django.utils.unittest import skip

@@ -149,6 +149,12 @@ class AssertFieldOutputTests(SimpleTestCase):
        self.assertRaises(AssertionError, self.assertFieldOutput, EmailField, {'a@a.com': 'Wrong output'}, {'aaa': error_invalid})
        self.assertRaises(AssertionError, self.assertFieldOutput, EmailField, {'a@a.com': 'a@a.com'}, {'aaa': [u'Come on, gimme some well formatted data, dude.']})

    def test_custom_required_message(self):
        class MyCustomField(IntegerField):
            default_error_messages = {
                'required': u'This is really required.',
            }
        self.assertFieldOutput(MyCustomField, {}, {}, empty_value=None)

__test__ = {"API_TEST": r"""
# Some checks of the doctest output normalizer.