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
This commit is contained in:
parent
4629668ffa
commit
56b37bf1cf
|
@ -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)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
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.
|
||||
|
|
Loading…
Reference in New Issue