mirror of https://github.com/django/django.git
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,
|
from django.test.utils import (get_warnings_state, restore_warnings_state,
|
||||||
override_settings)
|
override_settings)
|
||||||
from django.utils import simplejson, unittest as ut2
|
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
|
from django.views.static import serve
|
||||||
|
|
||||||
__all__ = ('DocTestRunner', 'OutputChecker', 'TestCase', 'TransactionTestCase',
|
__all__ = ('DocTestRunner', 'OutputChecker', 'TestCase', 'TransactionTestCase',
|
||||||
|
@ -335,7 +335,7 @@ class SimpleTestCase(ut2.TestCase):
|
||||||
optional.clean(input)
|
optional.clean(input)
|
||||||
self.assertEqual(context_manager.exception.messages, errors)
|
self.assertEqual(context_manager.exception.messages, errors)
|
||||||
# test required inputs
|
# test required inputs
|
||||||
error_required = [u'This field is required.']
|
error_required = [force_unicode(required.error_messages['required'])]
|
||||||
for e in EMPTY_VALUES:
|
for e in EMPTY_VALUES:
|
||||||
with self.assertRaises(ValidationError) as context_manager:
|
with self.assertRaises(ValidationError) as context_manager:
|
||||||
required.clean(e)
|
required.clean(e)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
from __future__ import with_statement, absolute_import
|
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.test import SimpleTestCase, TestCase, skipUnlessDBFeature
|
||||||
from django.utils.unittest import skip
|
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': '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.']})
|
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"""
|
__test__ = {"API_TEST": r"""
|
||||||
# Some checks of the doctest output normalizer.
|
# Some checks of the doctest output normalizer.
|
||||||
|
|
Loading…
Reference in New Issue