diff options
| author | Claude Paroz <claude@2xlibre.net> | 2021-09-09 07:42:05 +0200 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-09-14 12:05:43 +0200 |
| commit | 676bd084f2509f4201561d5c77ed4ecbd157bfa0 (patch) | |
| tree | bc8dfe6748a6bfc5fe8c728a5f825dfff575cb56 /tests/forms_tests | |
| parent | 04e023e38331d6717af1cbd8da4926af612f7831 (diff) | |
Fixed #32873 -- Deprecated settings.USE_L10N.
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Diffstat (limited to 'tests/forms_tests')
14 files changed, 58 insertions, 34 deletions
diff --git a/tests/forms_tests/field_tests/test_datefield.py b/tests/forms_tests/field_tests/test_datefield.py index c0e369cd0c..10d77bf1bb 100644 --- a/tests/forms_tests/field_tests/test_datefield.py +++ b/tests/forms_tests/field_tests/test_datefield.py @@ -2,7 +2,7 @@ from datetime import date, datetime from django.core.exceptions import ValidationError from django.forms import DateField, Form, HiddenInput, SelectDateWidget -from django.test import SimpleTestCase, override_settings +from django.test import SimpleTestCase from django.utils import translation @@ -37,7 +37,6 @@ class DateFieldTest(SimpleTestCase): d = GetDate({'mydate_month': '1', 'mydate_day': '1', 'mydate_year': '2010'}) self.assertIn('<label for="id_mydate_month">', d.as_p()) - @override_settings(USE_L10N=True) @translation.override('nl') def test_l10n_date_changed(self): """ @@ -95,7 +94,6 @@ class DateFieldTest(SimpleTestCase): }, initial={'mydate': date(2008, 4, 1)}) self.assertFalse(b.has_changed()) - @override_settings(USE_L10N=True) @translation.override('nl') def test_l10n_invalid_date_in(self): # Invalid dates shouldn't be allowed @@ -104,7 +102,6 @@ class DateFieldTest(SimpleTestCase): # 'Geef een geldige datum op.' = 'Enter a valid date.' self.assertEqual(a.errors, {'mydate': ['Voer een geldige datum in.']}) - @override_settings(USE_L10N=True) @translation.override('nl') def test_form_label_association(self): # label tag is correctly associated with first rendered dropdown diff --git a/tests/forms_tests/field_tests/test_decimalfield.py b/tests/forms_tests/field_tests/test_decimalfield.py index f58c678176..1dd0984ac7 100644 --- a/tests/forms_tests/field_tests/test_decimalfield.py +++ b/tests/forms_tests/field_tests/test_decimalfield.py @@ -2,8 +2,9 @@ import decimal from django.core.exceptions import ValidationError from django.forms import DecimalField, NumberInput, Widget -from django.test import SimpleTestCase, override_settings +from django.test import SimpleTestCase, ignore_warnings, override_settings from django.utils import formats, translation +from django.utils.deprecation import RemovedInDjango50Warning from . import FormFieldAssertionsMixin @@ -153,17 +154,27 @@ class DecimalFieldTest(FormFieldAssertionsMixin, SimpleTestCase): self.assertFalse(f.has_changed(d, '0.10')) self.assertTrue(f.has_changed(d, '0.101')) - with translation.override('fr'), self.settings(USE_L10N=True): + with translation.override('fr'): f = DecimalField(max_digits=2, decimal_places=2, localize=True) localized_d = formats.localize_input(d) # -> '0,1' in French self.assertFalse(f.has_changed(d, localized_d)) + # RemovedInDjango50Warning: When the deprecation ends, remove + # @ignore_warnings and USE_L10N=False. The test should remain because + # format-related settings will take precedence over locale-dictated + # formats. + @ignore_warnings(category=RemovedInDjango50Warning) @override_settings(USE_L10N=False, DECIMAL_SEPARATOR=',') def test_decimalfield_support_decimal_separator(self): f = DecimalField(localize=True) self.assertEqual(f.clean('1001,10'), decimal.Decimal("1001.10")) self.assertEqual(f.clean('1001.10'), decimal.Decimal("1001.10")) + # RemovedInDjango50Warning: When the deprecation ends, remove + # @ignore_warnings and USE_L10N=False. The test should remain because + # format-related settings will take precedence over locale-dictated + # formats. + @ignore_warnings(category=RemovedInDjango50Warning) @override_settings(USE_L10N=False, DECIMAL_SEPARATOR=',', USE_THOUSAND_SEPARATOR=True, THOUSAND_SEPARATOR='.') def test_decimalfield_support_thousands_separator(self): diff --git a/tests/forms_tests/field_tests/test_floatfield.py b/tests/forms_tests/field_tests/test_floatfield.py index d97bbfc13e..d6dffaccb1 100644 --- a/tests/forms_tests/field_tests/test_floatfield.py +++ b/tests/forms_tests/field_tests/test_floatfield.py @@ -1,8 +1,9 @@ from django.core.exceptions import ValidationError from django.forms import FloatField, NumberInput from django.test import SimpleTestCase -from django.test.utils import override_settings +from django.test.utils import ignore_warnings, override_settings from django.utils import formats, translation +from django.utils.deprecation import RemovedInDjango50Warning from . import FormFieldAssertionsMixin @@ -81,17 +82,27 @@ class FloatFieldTest(FormFieldAssertionsMixin, SimpleTestCase): n = 4.35 self.assertFalse(f.has_changed(n, '4.3500')) - with translation.override('fr'), self.settings(USE_L10N=True): + with translation.override('fr'): f = FloatField(localize=True) localized_n = formats.localize_input(n) # -> '4,35' in French self.assertFalse(f.has_changed(n, localized_n)) + # RemovedInDjango50Warning: When the deprecation ends, remove + # @ignore_warnings and USE_L10N=False. The test should remain because + # format-related settings will take precedence over locale-dictated + # formats. + @ignore_warnings(category=RemovedInDjango50Warning) @override_settings(USE_L10N=False, DECIMAL_SEPARATOR=',') def test_decimalfield_support_decimal_separator(self): f = FloatField(localize=True) self.assertEqual(f.clean('1001,10'), 1001.10) self.assertEqual(f.clean('1001.10'), 1001.10) + # RemovedInDjango50Warning: When the deprecation ends, remove + # @ignore_warnings and USE_L10N=False. The test should remain because + # format-related settings will take precedence over locale-dictated + # formats. + @ignore_warnings(category=RemovedInDjango50Warning) @override_settings(USE_L10N=False, DECIMAL_SEPARATOR=',', USE_THOUSAND_SEPARATOR=True, THOUSAND_SEPARATOR='.') def test_decimalfield_support_thousands_separator(self): diff --git a/tests/forms_tests/tests/test_input_formats.py b/tests/forms_tests/tests/test_input_formats.py index 81ba9eb943..7b9da02a0c 100644 --- a/tests/forms_tests/tests/test_input_formats.py +++ b/tests/forms_tests/tests/test_input_formats.py @@ -3,10 +3,10 @@ from datetime import date, datetime, time from django import forms from django.core.exceptions import ValidationError from django.test import SimpleTestCase, override_settings +from django.utils import translation from django.utils.translation import activate, deactivate -@override_settings(TIME_INPUT_FORMATS=["%I:%M:%S %p", "%I:%M %p"], USE_L10N=True) class LocalizedTimeTests(SimpleTestCase): def setUp(self): # nl/formats.py has customized TIME_INPUT_FORMATS: @@ -117,6 +117,7 @@ class LocalizedTimeTests(SimpleTestCase): self.assertEqual(text, "13:30:00") +@translation.override(None) # RemovedInDjango50Warning. @override_settings(TIME_INPUT_FORMATS=["%I:%M:%S %p", "%I:%M %p"]) class CustomTimeInputFormatsTests(SimpleTestCase): def test_timeField(self): @@ -310,7 +311,6 @@ class SimpleTimeFormatTests(SimpleTestCase): self.assertEqual(text, "13:30:00") -@override_settings(DATE_INPUT_FORMATS=["%d/%m/%Y", "%d-%m-%Y"], USE_L10N=True) class LocalizedDateTests(SimpleTestCase): def setUp(self): activate('de') @@ -422,6 +422,7 @@ class LocalizedDateTests(SimpleTestCase): self.assertEqual(text, "21.12.2010") +@translation.override(None) # RemovedInDjango50Warning. @override_settings(DATE_INPUT_FORMATS=["%d.%m.%Y", "%d-%m-%Y"]) class CustomDateInputFormatsTests(SimpleTestCase): def test_dateField(self): @@ -615,7 +616,6 @@ class SimpleDateFormatTests(SimpleTestCase): self.assertEqual(text, "2010-12-21") -@override_settings(DATETIME_INPUT_FORMATS=["%I:%M:%S %p %d/%m/%Y", "%I:%M %p %d-%m-%Y"], USE_L10N=True) class LocalizedDateTimeTests(SimpleTestCase): def setUp(self): activate('de') @@ -731,6 +731,7 @@ class LocalizedDateTimeTests(SimpleTestCase): self.assertEqual(text, "21.12.2010 13:30:00") +@translation.override(None) # RemovedInDjango50Warning. @override_settings(DATETIME_INPUT_FORMATS=["%I:%M:%S %p %d/%m/%Y", "%I:%M %p %d-%m-%Y"]) class CustomDateTimeInputFormatsTests(SimpleTestCase): def test_dateTimeField(self): diff --git a/tests/forms_tests/widget_tests/test_checkboxselectmultiple.py b/tests/forms_tests/widget_tests/test_checkboxselectmultiple.py index 05406894dd..e831038e02 100644 --- a/tests/forms_tests/widget_tests/test_checkboxselectmultiple.py +++ b/tests/forms_tests/widget_tests/test_checkboxselectmultiple.py @@ -133,7 +133,7 @@ class CheckboxSelectMultipleTest(WidgetTest): """ self.check_html(widget, 'letters', ['a', 'c'], html=html) - @override_settings(USE_L10N=True, USE_THOUSAND_SEPARATOR=True) + @override_settings(USE_THOUSAND_SEPARATOR=True) def test_doesnt_localize_input_value(self): choices = [ (1, 'One'), diff --git a/tests/forms_tests/widget_tests/test_dateinput.py b/tests/forms_tests/widget_tests/test_dateinput.py index 8fae6c672a..fa08b345c1 100644 --- a/tests/forms_tests/widget_tests/test_dateinput.py +++ b/tests/forms_tests/widget_tests/test_dateinput.py @@ -1,7 +1,6 @@ from datetime import date from django.forms import DateInput -from django.test import override_settings from django.utils import translation from .base import WidgetTest @@ -38,7 +37,6 @@ class DateInputTest(WidgetTest): widget = DateInput(format='%d/%m/%Y', attrs={'type': 'date'}) self.check_html(widget, 'date', d, html='<input type="date" name="date" value="17/09/2007">') - @override_settings(USE_L10N=True) @translation.override('de-at') def test_l10n(self): self.check_html( diff --git a/tests/forms_tests/widget_tests/test_datetimeinput.py b/tests/forms_tests/widget_tests/test_datetimeinput.py index 682ded3c84..0a2571f5b7 100644 --- a/tests/forms_tests/widget_tests/test_datetimeinput.py +++ b/tests/forms_tests/widget_tests/test_datetimeinput.py @@ -1,8 +1,9 @@ from datetime import datetime from django.forms import DateTimeInput -from django.test import override_settings +from django.test import ignore_warnings from django.utils import translation +from django.utils.deprecation import RemovedInDjango50Warning from .base import WidgetTest @@ -39,7 +40,6 @@ class DateTimeInputTest(WidgetTest): d = datetime(2007, 9, 17, 12, 51, 34, 482548) self.check_html(widget, 'date', d, html='<input type="datetime" name="date" value="17/09/2007 12:51">') - @override_settings(USE_L10N=True) @translation.override('de-at') def test_l10n(self): d = datetime(2007, 9, 17, 12, 51, 34, 482548) @@ -47,15 +47,22 @@ class DateTimeInputTest(WidgetTest): '<input type="text" name="date" value="17.09.2007 12:51:34">' )) - @override_settings(USE_L10N=True) @translation.override('de-at') def test_locale_aware(self): d = datetime(2007, 9, 17, 12, 51, 34, 482548) - with self.settings(USE_L10N=False): - self.check_html( - self.widget, 'date', d, - html='<input type="text" name="date" value="2007-09-17 12:51:34">', - ) + # RemovedInDjango50Warning: When the deprecation ends, remove + # @ignore_warnings and USE_L10N=False. The assertion should remain + # because format-related settings will take precedence over + # locale-dictated formats. + with ignore_warnings(category=RemovedInDjango50Warning): + with self.settings(USE_L10N=False): + with self.settings(DATETIME_INPUT_FORMATS=[ + '%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', + ]): + self.check_html( + self.widget, 'date', d, + html='<input type="text" name="date" value="2007-09-17 12:51:34">', + ) with translation.override('es'): self.check_html( self.widget, 'date', d, diff --git a/tests/forms_tests/widget_tests/test_nullbooleanselect.py b/tests/forms_tests/widget_tests/test_nullbooleanselect.py index a732e86da4..4e34020cdd 100644 --- a/tests/forms_tests/widget_tests/test_nullbooleanselect.py +++ b/tests/forms_tests/widget_tests/test_nullbooleanselect.py @@ -1,5 +1,4 @@ from django.forms import NullBooleanSelect -from django.test import override_settings from django.utils import translation from .base import WidgetTest @@ -89,7 +88,6 @@ class NullBooleanSelectTest(WidgetTest): </select>""" )) - @override_settings(USE_L10N=True) def test_l10n(self): """ The NullBooleanSelect widget's options are lazily localized (#17190). diff --git a/tests/forms_tests/widget_tests/test_numberinput.py b/tests/forms_tests/widget_tests/test_numberinput.py index 40bd94df6e..9fda30e156 100644 --- a/tests/forms_tests/widget_tests/test_numberinput.py +++ b/tests/forms_tests/widget_tests/test_numberinput.py @@ -6,7 +6,7 @@ from .base import WidgetTest class NumberInputTests(WidgetTest): - @override_settings(USE_L10N=True, USE_THOUSAND_SEPARATOR=True) + @override_settings(USE_THOUSAND_SEPARATOR=True) def test_attrs_not_localized(self): widget = NumberInput(attrs={'max': 12345, 'min': 1234, 'step': 9999}) self.check_html( diff --git a/tests/forms_tests/widget_tests/test_radioselect.py b/tests/forms_tests/widget_tests/test_radioselect.py index 41f771e940..9622517144 100644 --- a/tests/forms_tests/widget_tests/test_radioselect.py +++ b/tests/forms_tests/widget_tests/test_radioselect.py @@ -101,7 +101,7 @@ class RadioSelectTest(WidgetTest): """ self.check_html(self.widget(choices=self.beatles), 'beatle', 'J', attrs={'class': 'bar'}, html=html) - @override_settings(USE_L10N=True, USE_THOUSAND_SEPARATOR=True) + @override_settings(USE_THOUSAND_SEPARATOR=True) def test_doesnt_localize_input_value(self): choices = [ (1, 'One'), diff --git a/tests/forms_tests/widget_tests/test_select.py b/tests/forms_tests/widget_tests/test_select.py index 935f6f6b5e..dc2030e3ae 100644 --- a/tests/forms_tests/widget_tests/test_select.py +++ b/tests/forms_tests/widget_tests/test_select.py @@ -220,7 +220,7 @@ class SelectTest(WidgetTest): </select>""" )) - @override_settings(USE_L10N=True, USE_THOUSAND_SEPARATOR=True) + @override_settings(USE_THOUSAND_SEPARATOR=True) def test_doesnt_localize_option_value(self): choices = [ (1, 'One'), diff --git a/tests/forms_tests/widget_tests/test_selectdatewidget.py b/tests/forms_tests/widget_tests/test_selectdatewidget.py index 661268a08d..6a922e4e71 100644 --- a/tests/forms_tests/widget_tests/test_selectdatewidget.py +++ b/tests/forms_tests/widget_tests/test_selectdatewidget.py @@ -1,9 +1,10 @@ from datetime import date from django.forms import DateField, Form, SelectDateWidget -from django.test import override_settings +from django.test import ignore_warnings, override_settings from django.utils import translation from django.utils.dates import MONTHS_AP +from django.utils.deprecation import RemovedInDjango50Warning from .base import WidgetTest @@ -387,7 +388,6 @@ class SelectDateWidgetTest(WidgetTest): with self.assertRaisesMessage(ValueError, 'empty_label list/tuple must have 3 elements.'): SelectDateWidget(years=('2014',), empty_label=('not enough', 'values')) - @override_settings(USE_L10N=True) @translation.override('nl') def test_l10n(self): w = SelectDateWidget( @@ -485,6 +485,11 @@ class SelectDateWidgetTest(WidgetTest): '13-08-0001', ) + # RemovedInDjango50Warning: When the deprecation ends, remove + # @ignore_warnings and USE_L10N=False. The test should remain because + # format-related settings will take precedence over locale-dictated + # formats. + @ignore_warnings(category=RemovedInDjango50Warning) @override_settings(USE_L10N=False, DATE_INPUT_FORMATS=['%d.%m.%Y']) def test_custom_input_format(self): w = SelectDateWidget(years=('0001', '1899', '2009', '2010')) @@ -551,7 +556,7 @@ class SelectDateWidgetTest(WidgetTest): data = {'field_day': '1', 'field_month': '12', 'field_year': '2000'} self.assertIs(self.widget.value_omitted_from_data(data, {}, 'field'), False) - @override_settings(USE_THOUSAND_SEPARATOR=True, USE_L10N=True) + @override_settings(USE_THOUSAND_SEPARATOR=True) def test_years_rendered_without_separator(self): widget = SelectDateWidget(years=(2007,)) self.check_html(widget, 'mydate', '', html=( diff --git a/tests/forms_tests/widget_tests/test_splithiddendatetimewidget.py b/tests/forms_tests/widget_tests/test_splithiddendatetimewidget.py index dff28161a5..c574eb6f7b 100644 --- a/tests/forms_tests/widget_tests/test_splithiddendatetimewidget.py +++ b/tests/forms_tests/widget_tests/test_splithiddendatetimewidget.py @@ -1,7 +1,6 @@ from datetime import datetime from django.forms import SplitHiddenDateTimeWidget -from django.test import override_settings from django.utils import translation from .base import WidgetTest @@ -30,7 +29,6 @@ class SplitHiddenDateTimeWidgetTest(WidgetTest): '<input type="hidden" name="date_1" value="12:51:00">' )) - @override_settings(USE_L10N=True) @translation.override('de-at') def test_l10n(self): d = datetime(2007, 9, 17, 12, 51) diff --git a/tests/forms_tests/widget_tests/test_timeinput.py b/tests/forms_tests/widget_tests/test_timeinput.py index 1a511e4cab..6060168eb3 100644 --- a/tests/forms_tests/widget_tests/test_timeinput.py +++ b/tests/forms_tests/widget_tests/test_timeinput.py @@ -1,7 +1,6 @@ from datetime import time from django.forms import TimeInput -from django.test import override_settings from django.utils import translation from .base import WidgetTest @@ -41,7 +40,6 @@ class TimeInputTest(WidgetTest): widget = TimeInput(format='%H:%M', attrs={'type': 'time'}) self.check_html(widget, 'time', t, html='<input type="time" name="time" value="12:51">') - @override_settings(USE_L10N=True) @translation.override('de-at') def test_l10n(self): t = time(12, 51, 34, 482548) |
