Fixed #25190 -- Deprecated callable_obj parameter to assertRaisesMessage().
Thanks Aymeric Augustin for review.
This commit is contained in:
parent
635ffc3c37
commit
d27e0f04a6
|
@ -618,6 +618,10 @@ class SimpleTestCase(unittest.TestCase):
|
||||||
# callable_obj was a documented kwarg in Django 1.8 and older.
|
# callable_obj was a documented kwarg in Django 1.8 and older.
|
||||||
callable_obj = kwargs.pop('callable_obj', None)
|
callable_obj = kwargs.pop('callable_obj', None)
|
||||||
if callable_obj:
|
if callable_obj:
|
||||||
|
warnings.warn(
|
||||||
|
'The callable_obj kwarg is deprecated. Pass the callable '
|
||||||
|
'as a positional argument instead.', RemovedInDjango20Warning
|
||||||
|
)
|
||||||
args = (callable_obj,) + args
|
args = (callable_obj,) + args
|
||||||
return six.assertRaisesRegex(self, expected_exception,
|
return six.assertRaisesRegex(self, expected_exception,
|
||||||
re.escape(expected_message), *args, **kwargs)
|
re.escape(expected_message), *args, **kwargs)
|
||||||
|
|
|
@ -89,6 +89,9 @@ details on these changes.
|
||||||
|
|
||||||
* The ``current_app`` parameter to the ``contrib.auth`` views will be removed.
|
* The ``current_app`` parameter to the ``contrib.auth`` views will be removed.
|
||||||
|
|
||||||
|
* The ``callable_obj`` keyword argument to
|
||||||
|
``SimpleTestCase.assertRaisesMessage()`` will be removed.
|
||||||
|
|
||||||
.. _deprecation-removed-in-1.10:
|
.. _deprecation-removed-in-1.10:
|
||||||
|
|
||||||
1.10
|
1.10
|
||||||
|
|
|
@ -1077,6 +1077,10 @@ Miscellaneous
|
||||||
* ``django.template.loaders.eggs.Loader`` is deprecated as distributing
|
* ``django.template.loaders.eggs.Loader`` is deprecated as distributing
|
||||||
applications as eggs is not recommended.
|
applications as eggs is not recommended.
|
||||||
|
|
||||||
|
* The ``callable_obj`` keyword argument to
|
||||||
|
``SimpleTestCase.assertRaisesMessage()`` is deprecated. Pass the callable as
|
||||||
|
a positional argument instead.
|
||||||
|
|
||||||
.. removed-features-1.9:
|
.. removed-features-1.9:
|
||||||
|
|
||||||
Features removed in 1.9
|
Features removed in 1.9
|
||||||
|
|
|
@ -1364,6 +1364,11 @@ your test suite.
|
||||||
with self.assertRaisesMessage(ValueError, 'invalid literal for int()'):
|
with self.assertRaisesMessage(ValueError, 'invalid literal for int()'):
|
||||||
int('a')
|
int('a')
|
||||||
|
|
||||||
|
.. deprecated:: 1.9
|
||||||
|
|
||||||
|
Passing ``callable`` as a keyword argument called ``callable_obj`` is
|
||||||
|
deprecated. Pass the callable as a positional argument instead.
|
||||||
|
|
||||||
.. method:: SimpleTestCase.assertFieldOutput(fieldclass, valid, invalid, field_args=None, field_kwargs=None, empty_value='')
|
.. method:: SimpleTestCase.assertFieldOutput(fieldclass, valid, invalid, field_args=None, field_kwargs=None, empty_value='')
|
||||||
|
|
||||||
Asserts that a form field behaves correctly with various inputs.
|
Asserts that a form field behaves correctly with various inputs.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import unittest
|
import unittest
|
||||||
|
import warnings
|
||||||
|
|
||||||
from django.conf.urls import url
|
from django.conf.urls import url
|
||||||
from django.contrib.staticfiles.finders import get_finder, get_finders
|
from django.contrib.staticfiles.finders import get_finder, get_finders
|
||||||
|
@ -13,12 +14,14 @@ from django.forms import EmailField, IntegerField
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
from django.template.loader import render_to_string
|
from django.template.loader import render_to_string
|
||||||
from django.test import (
|
from django.test import (
|
||||||
SimpleTestCase, TestCase, skipIfDBFeature, skipUnlessDBFeature,
|
SimpleTestCase, TestCase, ignore_warnings, skipIfDBFeature,
|
||||||
|
skipUnlessDBFeature,
|
||||||
)
|
)
|
||||||
from django.test.html import HTMLParseError, parse_html
|
from django.test.html import HTMLParseError, parse_html
|
||||||
from django.test.utils import CaptureQueriesContext, override_settings
|
from django.test.utils import CaptureQueriesContext, override_settings
|
||||||
from django.utils import six
|
from django.utils import six
|
||||||
from django.utils._os import abspathu
|
from django.utils._os import abspathu
|
||||||
|
from django.utils.deprecation import RemovedInDjango20Warning
|
||||||
|
|
||||||
from .models import Car, Person, PossessedCar
|
from .models import Car, Person, PossessedCar
|
||||||
from .views import empty_response
|
from .views import empty_response
|
||||||
|
@ -752,11 +755,22 @@ class AssertRaisesMsgTest(SimpleTestCase):
|
||||||
raise ValueError("[.*x+]y?")
|
raise ValueError("[.*x+]y?")
|
||||||
self.assertRaisesMessage(ValueError, "[.*x+]y?", func1)
|
self.assertRaisesMessage(ValueError, "[.*x+]y?", func1)
|
||||||
|
|
||||||
|
@ignore_warnings(category=RemovedInDjango20Warning)
|
||||||
def test_callable_obj_param(self):
|
def test_callable_obj_param(self):
|
||||||
# callable_obj was a documented kwarg in Django 1.8 and older.
|
# callable_obj was a documented kwarg in Django 1.8 and older.
|
||||||
def func1():
|
def func1():
|
||||||
raise ValueError("[.*x+]y?")
|
raise ValueError("[.*x+]y?")
|
||||||
self.assertRaisesMessage(ValueError, "[.*x+]y?", callable_obj=func1)
|
|
||||||
|
with warnings.catch_warnings(record=True) as warns:
|
||||||
|
warnings.simplefilter('always')
|
||||||
|
self.assertRaisesMessage(ValueError, "[.*x+]y?", callable_obj=func1)
|
||||||
|
|
||||||
|
self.assertEqual(len(warns), 1)
|
||||||
|
self.assertEqual(
|
||||||
|
str(warns[0].message),
|
||||||
|
'The callable_obj kwarg is deprecated. Pass the callable '
|
||||||
|
'as a positional argument instead.'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class AssertFieldOutputTests(SimpleTestCase):
|
class AssertFieldOutputTests(SimpleTestCase):
|
||||||
|
|
Loading…
Reference in New Issue