Code

Ticket #11637: 11637-es-ar-deactivate-tests.diff

File 11637-es-ar-deactivate-tests.diff, 34.0 KB (added by ramiro, 4 years ago)

Argentinina formats, plus other test changes

Line 
1diff -r 7264a3623daa django/conf/locale/es_AR/formats.py
2--- a/django/conf/locale/es_AR/formats.py       Tue Dec 22 15:29:00 2009 -0300
3+++ b/django/conf/locale/es_AR/formats.py       Tue Dec 22 18:21:34 2009 -0300
4@@ -2,17 +2,28 @@
5 # This file is distributed under the same license as the Django package.
6 #
7 
8-# DATE_FORMAT =
9-# TIME_FORMAT =
10-# DATETIME_FORMAT =
11-# YEAR_MONTH_FORMAT =
12-# MONTH_DAY_FORMAT =
13-# SHORT_DATE_FORMAT =
14-# SHORT_DATETIME_FORMAT =
15-# FIRST_DAY_OF_WEEK =
16-# DATE_INPUT_FORMATS =
17-# TIME_INPUT_FORMATS =
18-# DATETIME_INPUT_FORMATS =
19-# DECIMAL_SEPARATOR =
20-# THOUSAND_SEPARATOR =
21-# NUMBER_GROUPING =
22+DATE_FORMAT = 'j \de F \de Y'
23+TIME_FORMAT = 'H:i:s'
24+DATETIME_FORMAT = 'j \de F \de Y \a \l\a\s H:i'
25+YEAR_MONTH_FORMAT = 'F \de Y'
26+MONTH_DAY_FORMAT = 'j \de F'
27+SHORT_DATE_FORMAT = 'd/m/Y'
28+SHORT_DATETIME_FORMAT = 'd/m/Y H:i'
29+FIRST_DAY_OF_WEEK = 0 # 0: Sunday, 1: Monday
30+DATE_INPUT_FORMATS = (
31+    '%d/%m/%Y', # '31/12/2009'
32+    '%d/%m/%y', # '31/12/09'
33+)
34+TIME_INPUT_FORMATS = (
35+    '%H:%M:%S', # '14:30:59'
36+    '%H:%M',    # '14:30'
37+)
38+DATETIME_INPUT_FORMATS = (
39+    '%d/%m/%Y %H:%M:%S',
40+    '%d/%m/%Y %H:%M',
41+    '%d/%m/%y %H:%M:%S',
42+    '%d/%m/%y %H:%M',
43+)
44+DECIMAL_SEPARATOR = ','
45+THOUSAND_SEPARATOR = '.'
46+NUMBER_GROUPING = 3
47diff -r 7264a3623daa tests/regressiontests/i18n/tests.py
48--- a/tests/regressiontests/i18n/tests.py       Tue Dec 22 15:29:00 2009 -0300
49+++ b/tests/regressiontests/i18n/tests.py       Tue Dec 22 18:21:34 2009 -0300
50@@ -12,10 +12,12 @@
51         d = {'name': 'Ringo'}
52         self.assertEqual(u'Add Ringo', s % d)
53         activate('de')
54-        self.assertEqual(u'Ringo hinzuf\xfcgen', s % d)
55-        activate('pl')
56-        self.assertEqual(u'Dodaj Ringo', s % d)
57-        deactivate()
58+        try:
59+            self.assertEqual(u'Ringo hinzuf\xfcgen', s % d)
60+            activate('pl')
61+            self.assertEqual(u'Dodaj Ringo', s % d)
62+        finally:
63+            deactivate()
64 
65         # It should be possible to compare *_lazy objects.
66         s1 = ugettext_lazy('Add %(name)s')
67@@ -43,8 +45,10 @@
68         s = mark_safe('Password')
69         self.assertEqual(SafeString, type(s))
70         activate('de')
71-        self.assertEqual(SafeUnicode, type(ugettext(s)))
72-        deactivate()
73+        try:
74+            self.assertEqual(SafeUnicode, type(ugettext(s)))
75+        finally:
76+            deactivate()
77         self.assertEqual('aPassword', SafeString('a') + s)
78         self.assertEqual('Passworda', s + SafeString('a'))
79         self.assertEqual('Passworda', s + mark_safe('a'))
80@@ -62,9 +66,11 @@
81         ca_translation._catalog[u'Mac\nEOF\n'] = u'Catalan Mac\nEOF\n'
82         ca_translation._catalog[u'Win\nEOF\n'] = u'Catalan Win\nEOF\n'
83         activate('ca')
84-        self.assertEqual(u'Catalan Mac\nEOF\n', ugettext(u'Mac\rEOF\r'))
85-        self.assertEqual(u'Catalan Win\nEOF\n', ugettext(u'Win\r\nEOF\r\n'))
86-        deactivate()
87+        try:
88+            self.assertEqual(u'Catalan Mac\nEOF\n', ugettext(u'Mac\rEOF\r'))
89+            self.assertEqual(u'Catalan Win\nEOF\n', ugettext(u'Win\r\nEOF\r\n'))
90+        finally:
91+            deactivate()
92 
93     def test_dates_and_numbers(self):
94         """
95@@ -115,178 +121,188 @@
96 
97         settings.USE_L10N = False
98         activate('ca')
99-        self.assertEqual('N j, Y', get_format('DATE_FORMAT'))
100-        self.assertEqual(0, get_format('FIRST_DAY_OF_WEEK'))
101-        self.assertEqual('.', get_format('DECIMAL_SEPARATOR'))
102-        self.assertEqual(u'des. 31, 2009', date_format(d))
103-        self.assertEqual(u'desembre 2009', date_format(d, 'YEAR_MONTH_FORMAT'))
104-        self.assertEqual(u'12/31/2009 8:50 p.m.', date_format(dt, 'SHORT_DATETIME_FORMAT'))
105-        self.assertEqual('No localizable', localize('No localizable'))
106-        self.assertEqual(decimal.Decimal('66666.666'), localize(n))
107-        self.assertEqual(99999.999, localize(f))
108-        self.assertEqual(datetime.date(2009, 12, 31), localize(d))
109-        self.assertEqual(datetime.datetime(2009, 12, 31, 20, 50), localize(dt))
110-        self.assertEqual(u'66666.666', template.Template('{{ n }}').render(ctxt))
111-        self.assertEqual(u'99999.999', template.Template('{{ f }}').render(ctxt))
112-        self.assertEqual(u'2009-12-31', template.Template('{{ d }}').render(ctxt))
113-        self.assertEqual(u'2009-12-31 20:50:00', template.Template('{{ dt }}').render(ctxt))
114-        self.assertEqual(u'66666.67', template.Template('{{ n|floatformat:2 }}').render(ctxt))
115-        self.assertEqual(u'100000.0', template.Template('{{ f|floatformat }}').render(ctxt))
116-        self.assertEqual(u'12/31/2009', template.Template('{{ d|date:"SHORT_DATE_FORMAT" }}').render(ctxt))
117-        self.assertEqual(u'12/31/2009 8:50 p.m.', template.Template('{{ dt|date:"SHORT_DATETIME_FORMAT" }}').render(ctxt))
118+        try:
119+            self.assertEqual('N j, Y', get_format('DATE_FORMAT'))
120+            self.assertEqual(0, get_format('FIRST_DAY_OF_WEEK'))
121+            self.assertEqual('.', get_format('DECIMAL_SEPARATOR'))
122+            self.assertEqual(u'des. 31, 2009', date_format(d))
123+            self.assertEqual(u'desembre 2009', date_format(d, 'YEAR_MONTH_FORMAT'))
124+            self.assertEqual(u'12/31/2009 8:50 p.m.', date_format(dt, 'SHORT_DATETIME_FORMAT'))
125+            self.assertEqual('No localizable', localize('No localizable'))
126+            self.assertEqual(decimal.Decimal('66666.666'), localize(n))
127+            self.assertEqual(99999.999, localize(f))
128+            self.assertEqual(datetime.date(2009, 12, 31), localize(d))
129+            self.assertEqual(datetime.datetime(2009, 12, 31, 20, 50), localize(dt))
130+            self.assertEqual(u'66666.666', template.Template('{{ n }}').render(ctxt))
131+            self.assertEqual(u'99999.999', template.Template('{{ f }}').render(ctxt))
132+            self.assertEqual(u'2009-12-31', template.Template('{{ d }}').render(ctxt))
133+            self.assertEqual(u'2009-12-31 20:50:00', template.Template('{{ dt }}').render(ctxt))
134+            self.assertEqual(u'66666.67', template.Template('{{ n|floatformat:2 }}').render(ctxt))
135+            self.assertEqual(u'100000.0', template.Template('{{ f|floatformat }}').render(ctxt))
136+            self.assertEqual(u'12/31/2009', template.Template('{{ d|date:"SHORT_DATE_FORMAT" }}').render(ctxt))
137+            self.assertEqual(u'12/31/2009 8:50 p.m.', template.Template('{{ dt|date:"SHORT_DATETIME_FORMAT" }}').render(ctxt))
138 
139-        form = I18nForm({
140-            'decimal_field': u'66666,666',
141-            'float_field': u'99999,999',
142-            'date_field': u'31/12/2009',
143-            'datetime_field': u'31/12/2009 20:50',
144-            'time_field': u'20:50'
145-        })
146-        self.assertEqual(False, form.is_valid())
147-        self.assertEqual([u'Introdu\xefu un n\xfamero.'], form.errors['float_field'])
148-        self.assertEqual([u'Introdu\xefu un n\xfamero.'], form.errors['decimal_field'])
149-        self.assertEqual([u'Introdu\xefu una data v\xe0lida.'], form.errors['date_field'])
150-        self.assertEqual([u'Introdu\xefu una data/hora v\xe0lides.'], form.errors['datetime_field'])
151+            form = I18nForm({
152+                'decimal_field': u'66666,666',
153+                'float_field': u'99999,999',
154+                'date_field': u'31/12/2009',
155+                'datetime_field': u'31/12/2009 20:50',
156+                'time_field': u'20:50'
157+            })
158+            self.assertEqual(False, form.is_valid())
159+            self.assertEqual([u'Introdu\xefu un n\xfamero.'], form.errors['float_field'])
160+            self.assertEqual([u'Introdu\xefu un n\xfamero.'], form.errors['decimal_field'])
161+            self.assertEqual([u'Introdu\xefu una data v\xe0lida.'], form.errors['date_field'])
162+            self.assertEqual([u'Introdu\xefu una data/hora v\xe0lides.'], form.errors['datetime_field'])
163 
164-        form2 = SelectDateForm({
165-            'date_field_month': u'12',
166-            'date_field_day': u'31',
167-            'date_field_year': u'2009'
168-        })
169-        self.assertEqual(True, form2.is_valid())
170-        self.assertEqual(datetime.date(2009, 12, 31), form2.cleaned_data['date_field'])
171-        self.assertEqual(u'<select name="mydate_month" id="id_mydate_month">\n<option value="1">gener</option>\n<option value="2">febrer</option>\n<option value="3">mar\xe7</option>\n<option value="4">abril</option>\n<option value="5">maig</option>\n<option value="6">juny</option>\n<option value="7">juliol</option>\n<option value="8">agost</option>\n<option value="9">setembre</option>\n<option value="10">octubre</option>\n<option value="11">novembre</option>\n<option value="12" selected="selected">desembre</option>\n</select>\n<select name="mydate_day" id="id_mydate_day">\n<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31" selected="selected">31</option>\n</select>\n<select name="mydate_year" id="id_mydate_year">\n<option value="2009" selected="selected">2009</option>\n<option value="2010">2010</option>\n<option value="2011">2011</option>\n<option value="2012">2012</option>\n<option value="2013">2013</option>\n<option value="2014">2014</option>\n<option value="2015">2015</option>\n<option value="2016">2016</option>\n<option value="2017">2017</option>\n<option value="2018">2018</option>\n</select>', SelectDateWidget().render('mydate', datetime.date(2009, 12, 31)))
172-        deactivate()
173+            form2 = SelectDateForm({
174+                'date_field_month': u'12',
175+                'date_field_day': u'31',
176+                'date_field_year': u'2009'
177+            })
178+            self.assertEqual(True, form2.is_valid())
179+            self.assertEqual(datetime.date(2009, 12, 31), form2.cleaned_data['date_field'])
180+            self.assertEqual(u'<select name="mydate_month" id="id_mydate_month">\n<option value="1">gener</option>\n<option value="2">febrer</option>\n<option value="3">mar\xe7</option>\n<option value="4">abril</option>\n<option value="5">maig</option>\n<option value="6">juny</option>\n<option value="7">juliol</option>\n<option value="8">agost</option>\n<option value="9">setembre</option>\n<option value="10">octubre</option>\n<option value="11">novembre</option>\n<option value="12" selected="selected">desembre</option>\n</select>\n<select name="mydate_day" id="id_mydate_day">\n<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31" selected="selected">31</option>\n</select>\n<select name="mydate_year" id="id_mydate_year">\n<option value="2009" selected="selected">2009</option>\n<option value="2010">2010</option>\n<option value="2011">2011</option>\n<option value="2012">2012</option>\n<option value="2013">2013</option>\n<option value="2014">2014</option>\n<option value="2015">2015</option>\n<option value="2016">2016</option>\n<option value="2017">2017</option>\n<option value="2018">2018</option>\n</select>', SelectDateWidget().render('mydate', datetime.date(2009, 12, 31)))
181+        finally:
182+            deactivate()
183 
184         # Catalan locale
185 
186         settings.USE_L10N = True
187         activate('ca')
188-        self.assertEqual('j \de F \de Y', get_format('DATE_FORMAT'))
189-        self.assertEqual(1, get_format('FIRST_DAY_OF_WEEK'))
190-        self.assertEqual(',', get_format('DECIMAL_SEPARATOR'))
191-        self.assertEqual(u'31 de desembre de 2009', date_format(d))
192-        self.assertEqual(u'desembre del 2009', date_format(d, 'YEAR_MONTH_FORMAT'))
193-        self.assertEqual(u'31/12/2009 20:50', date_format(dt, 'SHORT_DATETIME_FORMAT'))
194-        self.assertEqual('No localizable', localize('No localizable'))
195+        try:
196+            self.assertEqual('j \de F \de Y', get_format('DATE_FORMAT'))
197+            self.assertEqual(1, get_format('FIRST_DAY_OF_WEEK'))
198+            self.assertEqual(',', get_format('DECIMAL_SEPARATOR'))
199+            self.assertEqual(u'31 de desembre de 2009', date_format(d))
200+            self.assertEqual(u'desembre del 2009', date_format(d, 'YEAR_MONTH_FORMAT'))
201+            self.assertEqual(u'31/12/2009 20:50', date_format(dt, 'SHORT_DATETIME_FORMAT'))
202+            self.assertEqual('No localizable', localize('No localizable'))
203 
204-        settings.USE_THOUSAND_SEPARATOR = True
205-        self.assertEqual(u'66.666,666', localize(n))
206-        self.assertEqual(u'99.999,999', localize(f))
207+            settings.USE_THOUSAND_SEPARATOR = True
208+            self.assertEqual(u'66.666,666', localize(n))
209+            self.assertEqual(u'99.999,999', localize(f))
210 
211-        settings.USE_THOUSAND_SEPARATOR = False
212-        self.assertEqual(u'66666,666', localize(n))
213-        self.assertEqual(u'99999,999', localize(f))
214-        self.assertEqual(u'31 de desembre de 2009', localize(d))
215-        self.assertEqual(u'31 de desembre de 2009 a les 20:50', localize(dt))
216+            settings.USE_THOUSAND_SEPARATOR = False
217+            self.assertEqual(u'66666,666', localize(n))
218+            self.assertEqual(u'99999,999', localize(f))
219+            self.assertEqual(u'31 de desembre de 2009', localize(d))
220+            self.assertEqual(u'31 de desembre de 2009 a les 20:50', localize(dt))
221 
222-        settings.USE_THOUSAND_SEPARATOR = True
223-        self.assertEqual(u'66.666,666', template.Template('{{ n }}').render(ctxt))
224-        self.assertEqual(u'99.999,999', template.Template('{{ f }}').render(ctxt))
225+            settings.USE_THOUSAND_SEPARATOR = True
226+            self.assertEqual(u'66.666,666', template.Template('{{ n }}').render(ctxt))
227+            self.assertEqual(u'99.999,999', template.Template('{{ f }}').render(ctxt))
228 
229-        settings.USE_THOUSAND_SEPARATOR = False
230-        self.assertEqual(u'66666,666', template.Template('{{ n }}').render(ctxt))
231-        self.assertEqual(u'99999,999', template.Template('{{ f }}').render(ctxt))
232-        self.assertEqual(u'31 de desembre de 2009', template.Template('{{ d }}').render(ctxt))
233-        self.assertEqual(u'31 de desembre de 2009 a les 20:50', template.Template('{{ dt }}').render(ctxt))
234-        self.assertEqual(u'66666,67', template.Template('{{ n|floatformat:2 }}').render(ctxt))
235-        self.assertEqual(u'100000,0', template.Template('{{ f|floatformat }}').render(ctxt))
236-        self.assertEqual(u'31/12/2009', template.Template('{{ d|date:"SHORT_DATE_FORMAT" }}').render(ctxt))
237-        self.assertEqual(u'31/12/2009 20:50', template.Template('{{ dt|date:"SHORT_DATETIME_FORMAT" }}').render(ctxt))
238+            settings.USE_THOUSAND_SEPARATOR = False
239+            self.assertEqual(u'66666,666', template.Template('{{ n }}').render(ctxt))
240+            self.assertEqual(u'99999,999', template.Template('{{ f }}').render(ctxt))
241+            self.assertEqual(u'31 de desembre de 2009', template.Template('{{ d }}').render(ctxt))
242+            self.assertEqual(u'31 de desembre de 2009 a les 20:50', template.Template('{{ dt }}').render(ctxt))
243+            self.assertEqual(u'66666,67', template.Template('{{ n|floatformat:2 }}').render(ctxt))
244+            self.assertEqual(u'100000,0', template.Template('{{ f|floatformat }}').render(ctxt))
245+            self.assertEqual(u'31/12/2009', template.Template('{{ d|date:"SHORT_DATE_FORMAT" }}').render(ctxt))
246+            self.assertEqual(u'31/12/2009 20:50', template.Template('{{ dt|date:"SHORT_DATETIME_FORMAT" }}').render(ctxt))
247 
248-        form3 = I18nForm({
249-            'decimal_field': u'66666,666',
250-            'float_field': u'99999,999',
251-            'date_field': u'31/12/2009',
252-            'datetime_field': u'31/12/2009 20:50',
253-            'time_field': u'20:50'
254-        })
255-        self.assertEqual(True, form3.is_valid())
256-        self.assertEqual(decimal.Decimal('66666.666'), form3.cleaned_data['decimal_field'])
257-        self.assertEqual(99999.999, form3.cleaned_data['float_field'])
258-        self.assertEqual(datetime.date(2009, 12, 31), form3.cleaned_data['date_field'])
259-        self.assertEqual(datetime.datetime(2009, 12, 31, 20, 50), form3.cleaned_data['datetime_field'])
260-        self.assertEqual(datetime.time(20, 50), form3.cleaned_data['time_field'])
261+            form3 = I18nForm({
262+                'decimal_field': u'66666,666',
263+                'float_field': u'99999,999',
264+                'date_field': u'31/12/2009',
265+                'datetime_field': u'31/12/2009 20:50',
266+                'time_field': u'20:50'
267+            })
268+            self.assertEqual(True, form3.is_valid())
269+            self.assertEqual(decimal.Decimal('66666.666'), form3.cleaned_data['decimal_field'])
270+            self.assertEqual(99999.999, form3.cleaned_data['float_field'])
271+            self.assertEqual(datetime.date(2009, 12, 31), form3.cleaned_data['date_field'])
272+            self.assertEqual(datetime.datetime(2009, 12, 31, 20, 50), form3.cleaned_data['datetime_field'])
273+            self.assertEqual(datetime.time(20, 50), form3.cleaned_data['time_field'])
274 
275-        form4 = SelectDateForm({
276-            'date_field_month': u'12',
277-            'date_field_day': u'31',
278-            'date_field_year': u'2009'
279-        })
280-        self.assertEqual(True, form4.is_valid())
281-        self.assertEqual(datetime.date(2009, 12, 31), form4.cleaned_data['date_field'])
282-        self.assertEqual(u'<select name="mydate_day" id="id_mydate_day">\n<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31" selected="selected">31</option>\n</select>\n<select name="mydate_month" id="id_mydate_month">\n<option value="1">gener</option>\n<option value="2">febrer</option>\n<option value="3">mar\xe7</option>\n<option value="4">abril</option>\n<option value="5">maig</option>\n<option value="6">juny</option>\n<option value="7">juliol</option>\n<option value="8">agost</option>\n<option value="9">setembre</option>\n<option value="10">octubre</option>\n<option value="11">novembre</option>\n<option value="12" selected="selected">desembre</option>\n</select>\n<select name="mydate_year" id="id_mydate_year">\n<option value="2009" selected="selected">2009</option>\n<option value="2010">2010</option>\n<option value="2011">2011</option>\n<option value="2012">2012</option>\n<option value="2013">2013</option>\n<option value="2014">2014</option>\n<option value="2015">2015</option>\n<option value="2016">2016</option>\n<option value="2017">2017</option>\n<option value="2018">2018</option>\n</select>', SelectDateWidget().render('mydate', datetime.date(2009, 12, 31)))
283-        deactivate()
284+            form4 = SelectDateForm({
285+                'date_field_month': u'12',
286+                'date_field_day': u'31',
287+                'date_field_year': u'2009'
288+            })
289+            self.assertEqual(True, form4.is_valid())
290+            self.assertEqual(datetime.date(2009, 12, 31), form4.cleaned_data['date_field'])
291+            self.assertEqual(u'<select name="mydate_day" id="id_mydate_day">\n<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31" selected="selected">31</option>\n</select>\n<select name="mydate_month" id="id_mydate_month">\n<option value="1">gener</option>\n<option value="2">febrer</option>\n<option value="3">mar\xe7</option>\n<option value="4">abril</option>\n<option value="5">maig</option>\n<option value="6">juny</option>\n<option value="7">juliol</option>\n<option value="8">agost</option>\n<option value="9">setembre</option>\n<option value="10">octubre</option>\n<option value="11">novembre</option>\n<option value="12" selected="selected">desembre</option>\n</select>\n<select name="mydate_year" id="id_mydate_year">\n<option value="2009" selected="selected">2009</option>\n<option value="2010">2010</option>\n<option value="2011">2011</option>\n<option value="2012">2012</option>\n<option value="2013">2013</option>\n<option value="2014">2014</option>\n<option value="2015">2015</option>\n<option value="2016">2016</option>\n<option value="2017">2017</option>\n<option value="2018">2018</option>\n</select>', SelectDateWidget().render('mydate', datetime.date(2009, 12, 31)))
292+        finally:
293+            deactivate()
294 
295         # English locale
296 
297         settings.USE_L10N = True
298         activate('en')
299-        self.assertEqual('N j, Y', get_format('DATE_FORMAT'))
300-        self.assertEqual(0, get_format('FIRST_DAY_OF_WEEK'))
301-        self.assertEqual('.', get_format('DECIMAL_SEPARATOR'))
302-        self.assertEqual(u'Dec. 31, 2009', date_format(d))
303-        self.assertEqual(u'December 2009', date_format(d, 'YEAR_MONTH_FORMAT'))
304-        self.assertEqual(u'12/31/2009 8:50 p.m.', date_format(dt, 'SHORT_DATETIME_FORMAT'))
305-        self.assertEqual('No localizable', localize('No localizable'))
306+        try:
307+            self.assertEqual('N j, Y', get_format('DATE_FORMAT'))
308+            self.assertEqual(0, get_format('FIRST_DAY_OF_WEEK'))
309+            self.assertEqual('.', get_format('DECIMAL_SEPARATOR'))
310+            self.assertEqual(u'Dec. 31, 2009', date_format(d))
311+            self.assertEqual(u'December 2009', date_format(d, 'YEAR_MONTH_FORMAT'))
312+            self.assertEqual(u'12/31/2009 8:50 p.m.', date_format(dt, 'SHORT_DATETIME_FORMAT'))
313+            self.assertEqual('No localizable', localize('No localizable'))
314 
315-        settings.USE_THOUSAND_SEPARATOR = True
316-        self.assertEqual(u'66,666.666', localize(n))
317-        self.assertEqual(u'99,999.999', localize(f))
318+            settings.USE_THOUSAND_SEPARATOR = True
319+            self.assertEqual(u'66,666.666', localize(n))
320+            self.assertEqual(u'99,999.999', localize(f))
321 
322-        settings.USE_THOUSAND_SEPARATOR = False
323-        self.assertEqual(u'66666.666', localize(n))
324-        self.assertEqual(u'99999.999', localize(f))
325-        self.assertEqual(u'Dec. 31, 2009', localize(d))
326-        self.assertEqual(u'Dec. 31, 2009, 8:50 p.m.', localize(dt))
327+            settings.USE_THOUSAND_SEPARATOR = False
328+            self.assertEqual(u'66666.666', localize(n))
329+            self.assertEqual(u'99999.999', localize(f))
330+            self.assertEqual(u'Dec. 31, 2009', localize(d))
331+            self.assertEqual(u'Dec. 31, 2009, 8:50 p.m.', localize(dt))
332 
333-        settings.USE_THOUSAND_SEPARATOR = True
334-        self.assertEqual(u'66,666.666', template.Template('{{ n }}').render(ctxt))
335-        self.assertEqual(u'99,999.999', template.Template('{{ f }}').render(ctxt))
336+            settings.USE_THOUSAND_SEPARATOR = True
337+            self.assertEqual(u'66,666.666', template.Template('{{ n }}').render(ctxt))
338+            self.assertEqual(u'99,999.999', template.Template('{{ f }}').render(ctxt))
339 
340-        settings.USE_THOUSAND_SEPARATOR = False
341-        self.assertEqual(u'66666.666', template.Template('{{ n }}').render(ctxt))
342-        self.assertEqual(u'99999.999', template.Template('{{ f }}').render(ctxt))
343-        self.assertEqual(u'Dec. 31, 2009', template.Template('{{ d }}').render(ctxt))
344-        self.assertEqual(u'Dec. 31, 2009, 8:50 p.m.', template.Template('{{ dt }}').render(ctxt))
345-        self.assertEqual(u'66666.67', template.Template('{{ n|floatformat:2 }}').render(ctxt))
346-        self.assertEqual(u'100000.0', template.Template('{{ f|floatformat }}').render(ctxt))
347-        self.assertEqual(u'12/31/2009', template.Template('{{ d|date:"SHORT_DATE_FORMAT" }}').render(ctxt))
348-        self.assertEqual(u'12/31/2009 8:50 p.m.', template.Template('{{ dt|date:"SHORT_DATETIME_FORMAT" }}').render(ctxt))
349+            settings.USE_THOUSAND_SEPARATOR = False
350+            self.assertEqual(u'66666.666', template.Template('{{ n }}').render(ctxt))
351+            self.assertEqual(u'99999.999', template.Template('{{ f }}').render(ctxt))
352+            self.assertEqual(u'Dec. 31, 2009', template.Template('{{ d }}').render(ctxt))
353+            self.assertEqual(u'Dec. 31, 2009, 8:50 p.m.', template.Template('{{ dt }}').render(ctxt))
354+            self.assertEqual(u'66666.67', template.Template('{{ n|floatformat:2 }}').render(ctxt))
355+            self.assertEqual(u'100000.0', template.Template('{{ f|floatformat }}').render(ctxt))
356+            self.assertEqual(u'12/31/2009', template.Template('{{ d|date:"SHORT_DATE_FORMAT" }}').render(ctxt))
357+            self.assertEqual(u'12/31/2009 8:50 p.m.', template.Template('{{ dt|date:"SHORT_DATETIME_FORMAT" }}').render(ctxt))
358 
359-        form5 = I18nForm({
360-            'decimal_field': u'66666.666',
361-            'float_field': u'99999.999',
362-            'date_field': u'12/31/2009',
363-            'datetime_field': u'12/31/2009 20:50',
364-            'time_field': u'20:50'
365-        })
366-        self.assertEqual(True, form5.is_valid())
367-        self.assertEqual(decimal.Decimal('66666.666'), form5.cleaned_data['decimal_field'])
368-        self.assertEqual(99999.999, form5.cleaned_data['float_field'])
369-        self.assertEqual(datetime.date(2009, 12, 31), form5.cleaned_data['date_field'])
370-        self.assertEqual(datetime.datetime(2009, 12, 31, 20, 50), form5.cleaned_data['datetime_field'])
371-        self.assertEqual(datetime.time(20, 50), form5.cleaned_data['time_field'])
372+            form5 = I18nForm({
373+                'decimal_field': u'66666.666',
374+                'float_field': u'99999.999',
375+                'date_field': u'12/31/2009',
376+                'datetime_field': u'12/31/2009 20:50',
377+                'time_field': u'20:50'
378+            })
379+            self.assertEqual(True, form5.is_valid())
380+            self.assertEqual(decimal.Decimal('66666.666'), form5.cleaned_data['decimal_field'])
381+            self.assertEqual(99999.999, form5.cleaned_data['float_field'])
382+            self.assertEqual(datetime.date(2009, 12, 31), form5.cleaned_data['date_field'])
383+            self.assertEqual(datetime.datetime(2009, 12, 31, 20, 50), form5.cleaned_data['datetime_field'])
384+            self.assertEqual(datetime.time(20, 50), form5.cleaned_data['time_field'])
385 
386-        form6 = SelectDateForm({
387-            'date_field_month': u'12',
388-            'date_field_day': u'31',
389-            'date_field_year': u'2009'
390-        })
391-        self.assertEqual(True, form6.is_valid())
392-        self.assertEqual(datetime.date(2009, 12, 31), form6.cleaned_data['date_field'])
393-        self.assertEqual(u'<select name="mydate_month" id="id_mydate_month">\n<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6">June</option>\n<option value="7">July</option>\n<option value="8">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12" selected="selected">December</option>\n</select>\n<select name="mydate_day" id="id_mydate_day">\n<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31" selected="selected">31</option>\n</select>\n<select name="mydate_year" id="id_mydate_year">\n<option value="2009" selected="selected">2009</option>\n<option value="2010">2010</option>\n<option value="2011">2011</option>\n<option value="2012">2012</option>\n<option value="2013">2013</option>\n<option value="2014">2014</option>\n<option value="2015">2015</option>\n<option value="2016">2016</option>\n<option value="2017">2017</option>\n<option value="2018">2018</option>\n</select>', SelectDateWidget().render('mydate', datetime.date(2009, 12, 31)))
394-        deactivate()
395+            form6 = SelectDateForm({
396+                'date_field_month': u'12',
397+                'date_field_day': u'31',
398+                'date_field_year': u'2009'
399+            })
400+            self.assertEqual(True, form6.is_valid())
401+            self.assertEqual(datetime.date(2009, 12, 31), form6.cleaned_data['date_field'])
402+            self.assertEqual(u'<select name="mydate_month" id="id_mydate_month">\n<option value="1">January</option>\n<option value="2">February</option>\n<option value="3">March</option>\n<option value="4">April</option>\n<option value="5">May</option>\n<option value="6">June</option>\n<option value="7">July</option>\n<option value="8">August</option>\n<option value="9">September</option>\n<option value="10">October</option>\n<option value="11">November</option>\n<option value="12" selected="selected">December</option>\n</select>\n<select name="mydate_day" id="id_mydate_day">\n<option value="1">1</option>\n<option value="2">2</option>\n<option value="3">3</option>\n<option value="4">4</option>\n<option value="5">5</option>\n<option value="6">6</option>\n<option value="7">7</option>\n<option value="8">8</option>\n<option value="9">9</option>\n<option value="10">10</option>\n<option value="11">11</option>\n<option value="12">12</option>\n<option value="13">13</option>\n<option value="14">14</option>\n<option value="15">15</option>\n<option value="16">16</option>\n<option value="17">17</option>\n<option value="18">18</option>\n<option value="19">19</option>\n<option value="20">20</option>\n<option value="21">21</option>\n<option value="22">22</option>\n<option value="23">23</option>\n<option value="24">24</option>\n<option value="25">25</option>\n<option value="26">26</option>\n<option value="27">27</option>\n<option value="28">28</option>\n<option value="29">29</option>\n<option value="30">30</option>\n<option value="31" selected="selected">31</option>\n</select>\n<select name="mydate_year" id="id_mydate_year">\n<option value="2009" selected="selected">2009</option>\n<option value="2010">2010</option>\n<option value="2011">2011</option>\n<option value="2012">2012</option>\n<option value="2013">2013</option>\n<option value="2014">2014</option>\n<option value="2015">2015</option>\n<option value="2016">2016</option>\n<option value="2017">2017</option>\n<option value="2018">2018</option>\n</select>', SelectDateWidget().render('mydate', datetime.date(2009, 12, 31)))
403+        finally:
404+            deactivate()
405 
406         # Check if sublocales fall back to the main locale
407         activate('de-at')
408         settings.USE_THOUSAND_SEPARATOR = True
409-        self.assertEqual(u'66.666,666', template.Template('{{ n }}').render(ctxt))
410-        deactivate()
411+        try:
412+            self.assertEqual(u'66.666,666', template.Template('{{ n }}').render(ctxt))
413+        finally:
414+            deactivate()
415 
416-        activate('es-ar')
417-        self.assertEqual(u'31 de Diciembre de 2009', date_format(d))
418-        deactivate()
419+        activate('es-us')
420+        try:
421+            self.assertEqual(u'31 de diciembre de 2009', date_format(d))
422+        finally:
423+            deactivate()
424 
425         # Restore defaults
426         settings.USE_I18N = old_use_i18n