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

File 11637-es-ar-deactivate-tests.diff, 34.0 KB (added by Ramiro Morales, 15 years ago)

Argentinina formats, plus other test changes

  • django/conf/locale/es_AR/formats.py

    diff -r 7264a3623daa django/conf/locale/es_AR/formats.py
    a b  
    22# This file is distributed under the same license as the Django package.
    33#
    44
    5 # DATE_FORMAT =
    6 # TIME_FORMAT =
    7 # DATETIME_FORMAT =
    8 # YEAR_MONTH_FORMAT =
    9 # MONTH_DAY_FORMAT =
    10 # SHORT_DATE_FORMAT =
    11 # SHORT_DATETIME_FORMAT =
    12 # FIRST_DAY_OF_WEEK =
    13 # DATE_INPUT_FORMATS =
    14 # TIME_INPUT_FORMATS =
    15 # DATETIME_INPUT_FORMATS =
    16 # DECIMAL_SEPARATOR =
    17 # THOUSAND_SEPARATOR =
    18 # NUMBER_GROUPING =
     5DATE_FORMAT = 'j \de F \de Y'
     6TIME_FORMAT = 'H:i:s'
     7DATETIME_FORMAT = 'j \de F \de Y \a \l\a\s H:i'
     8YEAR_MONTH_FORMAT = 'F \de Y'
     9MONTH_DAY_FORMAT = 'j \de F'
     10SHORT_DATE_FORMAT = 'd/m/Y'
     11SHORT_DATETIME_FORMAT = 'd/m/Y H:i'
     12FIRST_DAY_OF_WEEK = 0 # 0: Sunday, 1: Monday
     13DATE_INPUT_FORMATS = (
     14    '%d/%m/%Y', # '31/12/2009'
     15    '%d/%m/%y', # '31/12/09'
     16)
     17TIME_INPUT_FORMATS = (
     18    '%H:%M:%S', # '14:30:59'
     19    '%H:%M',    # '14:30'
     20)
     21DATETIME_INPUT_FORMATS = (
     22    '%d/%m/%Y %H:%M:%S',
     23    '%d/%m/%Y %H:%M',
     24    '%d/%m/%y %H:%M:%S',
     25    '%d/%m/%y %H:%M',
     26)
     27DECIMAL_SEPARATOR = ','
     28THOUSAND_SEPARATOR = '.'
     29NUMBER_GROUPING = 3
  • tests/regressiontests/i18n/tests.py

    diff -r 7264a3623daa tests/regressiontests/i18n/tests.py
    a b  
    1212        d = {'name': 'Ringo'}
    1313        self.assertEqual(u'Add Ringo', s % d)
    1414        activate('de')
    15         self.assertEqual(u'Ringo hinzuf\xfcgen', s % d)
    16         activate('pl')
    17         self.assertEqual(u'Dodaj Ringo', s % d)
    18         deactivate()
     15        try:
     16            self.assertEqual(u'Ringo hinzuf\xfcgen', s % d)
     17            activate('pl')
     18            self.assertEqual(u'Dodaj Ringo', s % d)
     19        finally:
     20            deactivate()
    1921
    2022        # It should be possible to compare *_lazy objects.
    2123        s1 = ugettext_lazy('Add %(name)s')
     
    4345        s = mark_safe('Password')
    4446        self.assertEqual(SafeString, type(s))
    4547        activate('de')
    46         self.assertEqual(SafeUnicode, type(ugettext(s)))
    47         deactivate()
     48        try:
     49            self.assertEqual(SafeUnicode, type(ugettext(s)))
     50        finally:
     51            deactivate()
    4852        self.assertEqual('aPassword', SafeString('a') + s)
    4953        self.assertEqual('Passworda', s + SafeString('a'))
    5054        self.assertEqual('Passworda', s + mark_safe('a'))
     
    6266        ca_translation._catalog[u'Mac\nEOF\n'] = u'Catalan Mac\nEOF\n'
    6367        ca_translation._catalog[u'Win\nEOF\n'] = u'Catalan Win\nEOF\n'
    6468        activate('ca')
    65         self.assertEqual(u'Catalan Mac\nEOF\n', ugettext(u'Mac\rEOF\r'))
    66         self.assertEqual(u'Catalan Win\nEOF\n', ugettext(u'Win\r\nEOF\r\n'))
    67         deactivate()
     69        try:
     70            self.assertEqual(u'Catalan Mac\nEOF\n', ugettext(u'Mac\rEOF\r'))
     71            self.assertEqual(u'Catalan Win\nEOF\n', ugettext(u'Win\r\nEOF\r\n'))
     72        finally:
     73            deactivate()
    6874
    6975    def test_dates_and_numbers(self):
    7076        """
     
    115121
    116122        settings.USE_L10N = False
    117123        activate('ca')
    118         self.assertEqual('N j, Y', get_format('DATE_FORMAT'))
    119         self.assertEqual(0, get_format('FIRST_DAY_OF_WEEK'))
    120         self.assertEqual('.', get_format('DECIMAL_SEPARATOR'))
    121         self.assertEqual(u'des. 31, 2009', date_format(d))
    122         self.assertEqual(u'desembre 2009', date_format(d, 'YEAR_MONTH_FORMAT'))
    123         self.assertEqual(u'12/31/2009 8:50 p.m.', date_format(dt, 'SHORT_DATETIME_FORMAT'))
    124         self.assertEqual('No localizable', localize('No localizable'))
    125         self.assertEqual(decimal.Decimal('66666.666'), localize(n))
    126         self.assertEqual(99999.999, localize(f))
    127         self.assertEqual(datetime.date(2009, 12, 31), localize(d))
    128         self.assertEqual(datetime.datetime(2009, 12, 31, 20, 50), localize(dt))
    129         self.assertEqual(u'66666.666', template.Template('{{ n }}').render(ctxt))
    130         self.assertEqual(u'99999.999', template.Template('{{ f }}').render(ctxt))
    131         self.assertEqual(u'2009-12-31', template.Template('{{ d }}').render(ctxt))
    132         self.assertEqual(u'2009-12-31 20:50:00', template.Template('{{ dt }}').render(ctxt))
    133         self.assertEqual(u'66666.67', template.Template('{{ n|floatformat:2 }}').render(ctxt))
    134         self.assertEqual(u'100000.0', template.Template('{{ f|floatformat }}').render(ctxt))
    135         self.assertEqual(u'12/31/2009', template.Template('{{ d|date:"SHORT_DATE_FORMAT" }}').render(ctxt))
    136         self.assertEqual(u'12/31/2009 8:50 p.m.', template.Template('{{ dt|date:"SHORT_DATETIME_FORMAT" }}').render(ctxt))
     124        try:
     125            self.assertEqual('N j, Y', get_format('DATE_FORMAT'))
     126            self.assertEqual(0, get_format('FIRST_DAY_OF_WEEK'))
     127            self.assertEqual('.', get_format('DECIMAL_SEPARATOR'))
     128            self.assertEqual(u'des. 31, 2009', date_format(d))
     129            self.assertEqual(u'desembre 2009', date_format(d, 'YEAR_MONTH_FORMAT'))
     130            self.assertEqual(u'12/31/2009 8:50 p.m.', date_format(dt, 'SHORT_DATETIME_FORMAT'))
     131            self.assertEqual('No localizable', localize('No localizable'))
     132            self.assertEqual(decimal.Decimal('66666.666'), localize(n))
     133            self.assertEqual(99999.999, localize(f))
     134            self.assertEqual(datetime.date(2009, 12, 31), localize(d))
     135            self.assertEqual(datetime.datetime(2009, 12, 31, 20, 50), localize(dt))
     136            self.assertEqual(u'66666.666', template.Template('{{ n }}').render(ctxt))
     137            self.assertEqual(u'99999.999', template.Template('{{ f }}').render(ctxt))
     138            self.assertEqual(u'2009-12-31', template.Template('{{ d }}').render(ctxt))
     139            self.assertEqual(u'2009-12-31 20:50:00', template.Template('{{ dt }}').render(ctxt))
     140            self.assertEqual(u'66666.67', template.Template('{{ n|floatformat:2 }}').render(ctxt))
     141            self.assertEqual(u'100000.0', template.Template('{{ f|floatformat }}').render(ctxt))
     142            self.assertEqual(u'12/31/2009', template.Template('{{ d|date:"SHORT_DATE_FORMAT" }}').render(ctxt))
     143            self.assertEqual(u'12/31/2009 8:50 p.m.', template.Template('{{ dt|date:"SHORT_DATETIME_FORMAT" }}').render(ctxt))
    137144
    138         form = I18nForm({
    139             'decimal_field': u'66666,666',
    140             'float_field': u'99999,999',
    141             'date_field': u'31/12/2009',
    142             'datetime_field': u'31/12/2009 20:50',
    143             'time_field': u'20:50'
    144         })
    145         self.assertEqual(False, form.is_valid())
    146         self.assertEqual([u'Introdu\xefu un n\xfamero.'], form.errors['float_field'])
    147         self.assertEqual([u'Introdu\xefu un n\xfamero.'], form.errors['decimal_field'])
    148         self.assertEqual([u'Introdu\xefu una data v\xe0lida.'], form.errors['date_field'])
    149         self.assertEqual([u'Introdu\xefu una data/hora v\xe0lides.'], form.errors['datetime_field'])
     145            form = I18nForm({
     146                'decimal_field': u'66666,666',
     147                'float_field': u'99999,999',
     148                'date_field': u'31/12/2009',
     149                'datetime_field': u'31/12/2009 20:50',
     150                'time_field': u'20:50'
     151            })
     152            self.assertEqual(False, form.is_valid())
     153            self.assertEqual([u'Introdu\xefu un n\xfamero.'], form.errors['float_field'])
     154            self.assertEqual([u'Introdu\xefu un n\xfamero.'], form.errors['decimal_field'])
     155            self.assertEqual([u'Introdu\xefu una data v\xe0lida.'], form.errors['date_field'])
     156            self.assertEqual([u'Introdu\xefu una data/hora v\xe0lides.'], form.errors['datetime_field'])
    150157
    151         form2 = SelectDateForm({
    152             'date_field_month': u'12',
    153             'date_field_day': u'31',
    154             'date_field_year': u'2009'
    155         })
    156         self.assertEqual(True, form2.is_valid())
    157         self.assertEqual(datetime.date(2009, 12, 31), form2.cleaned_data['date_field'])
    158         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)))
    159         deactivate()
     158            form2 = SelectDateForm({
     159                'date_field_month': u'12',
     160                'date_field_day': u'31',
     161                'date_field_year': u'2009'
     162            })
     163            self.assertEqual(True, form2.is_valid())
     164            self.assertEqual(datetime.date(2009, 12, 31), form2.cleaned_data['date_field'])
     165            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)))
     166        finally:
     167            deactivate()
    160168
    161169        # Catalan locale
    162170
    163171        settings.USE_L10N = True
    164172        activate('ca')
    165         self.assertEqual('j \de F \de Y', get_format('DATE_FORMAT'))
    166         self.assertEqual(1, get_format('FIRST_DAY_OF_WEEK'))
    167         self.assertEqual(',', get_format('DECIMAL_SEPARATOR'))
    168         self.assertEqual(u'31 de desembre de 2009', date_format(d))
    169         self.assertEqual(u'desembre del 2009', date_format(d, 'YEAR_MONTH_FORMAT'))
    170         self.assertEqual(u'31/12/2009 20:50', date_format(dt, 'SHORT_DATETIME_FORMAT'))
    171         self.assertEqual('No localizable', localize('No localizable'))
     173        try:
     174            self.assertEqual('j \de F \de Y', get_format('DATE_FORMAT'))
     175            self.assertEqual(1, get_format('FIRST_DAY_OF_WEEK'))
     176            self.assertEqual(',', get_format('DECIMAL_SEPARATOR'))
     177            self.assertEqual(u'31 de desembre de 2009', date_format(d))
     178            self.assertEqual(u'desembre del 2009', date_format(d, 'YEAR_MONTH_FORMAT'))
     179            self.assertEqual(u'31/12/2009 20:50', date_format(dt, 'SHORT_DATETIME_FORMAT'))
     180            self.assertEqual('No localizable', localize('No localizable'))
    172181
    173         settings.USE_THOUSAND_SEPARATOR = True
    174         self.assertEqual(u'66.666,666', localize(n))
    175         self.assertEqual(u'99.999,999', localize(f))
     182            settings.USE_THOUSAND_SEPARATOR = True
     183            self.assertEqual(u'66.666,666', localize(n))
     184            self.assertEqual(u'99.999,999', localize(f))
    176185
    177         settings.USE_THOUSAND_SEPARATOR = False
    178         self.assertEqual(u'66666,666', localize(n))
    179         self.assertEqual(u'99999,999', localize(f))
    180         self.assertEqual(u'31 de desembre de 2009', localize(d))
    181         self.assertEqual(u'31 de desembre de 2009 a les 20:50', localize(dt))
     186            settings.USE_THOUSAND_SEPARATOR = False
     187            self.assertEqual(u'66666,666', localize(n))
     188            self.assertEqual(u'99999,999', localize(f))
     189            self.assertEqual(u'31 de desembre de 2009', localize(d))
     190            self.assertEqual(u'31 de desembre de 2009 a les 20:50', localize(dt))
    182191
    183         settings.USE_THOUSAND_SEPARATOR = True
    184         self.assertEqual(u'66.666,666', template.Template('{{ n }}').render(ctxt))
    185         self.assertEqual(u'99.999,999', template.Template('{{ f }}').render(ctxt))
     192            settings.USE_THOUSAND_SEPARATOR = True
     193            self.assertEqual(u'66.666,666', template.Template('{{ n }}').render(ctxt))
     194            self.assertEqual(u'99.999,999', template.Template('{{ f }}').render(ctxt))
    186195
    187         settings.USE_THOUSAND_SEPARATOR = False
    188         self.assertEqual(u'66666,666', template.Template('{{ n }}').render(ctxt))
    189         self.assertEqual(u'99999,999', template.Template('{{ f }}').render(ctxt))
    190         self.assertEqual(u'31 de desembre de 2009', template.Template('{{ d }}').render(ctxt))
    191         self.assertEqual(u'31 de desembre de 2009 a les 20:50', template.Template('{{ dt }}').render(ctxt))
    192         self.assertEqual(u'66666,67', template.Template('{{ n|floatformat:2 }}').render(ctxt))
    193         self.assertEqual(u'100000,0', template.Template('{{ f|floatformat }}').render(ctxt))
    194         self.assertEqual(u'31/12/2009', template.Template('{{ d|date:"SHORT_DATE_FORMAT" }}').render(ctxt))
    195         self.assertEqual(u'31/12/2009 20:50', template.Template('{{ dt|date:"SHORT_DATETIME_FORMAT" }}').render(ctxt))
     196            settings.USE_THOUSAND_SEPARATOR = False
     197            self.assertEqual(u'66666,666', template.Template('{{ n }}').render(ctxt))
     198            self.assertEqual(u'99999,999', template.Template('{{ f }}').render(ctxt))
     199            self.assertEqual(u'31 de desembre de 2009', template.Template('{{ d }}').render(ctxt))
     200            self.assertEqual(u'31 de desembre de 2009 a les 20:50', template.Template('{{ dt }}').render(ctxt))
     201            self.assertEqual(u'66666,67', template.Template('{{ n|floatformat:2 }}').render(ctxt))
     202            self.assertEqual(u'100000,0', template.Template('{{ f|floatformat }}').render(ctxt))
     203            self.assertEqual(u'31/12/2009', template.Template('{{ d|date:"SHORT_DATE_FORMAT" }}').render(ctxt))
     204            self.assertEqual(u'31/12/2009 20:50', template.Template('{{ dt|date:"SHORT_DATETIME_FORMAT" }}').render(ctxt))
    196205
    197         form3 = I18nForm({
    198             'decimal_field': u'66666,666',
    199             'float_field': u'99999,999',
    200             'date_field': u'31/12/2009',
    201             'datetime_field': u'31/12/2009 20:50',
    202             'time_field': u'20:50'
    203         })
    204         self.assertEqual(True, form3.is_valid())
    205         self.assertEqual(decimal.Decimal('66666.666'), form3.cleaned_data['decimal_field'])
    206         self.assertEqual(99999.999, form3.cleaned_data['float_field'])
    207         self.assertEqual(datetime.date(2009, 12, 31), form3.cleaned_data['date_field'])
    208         self.assertEqual(datetime.datetime(2009, 12, 31, 20, 50), form3.cleaned_data['datetime_field'])
    209         self.assertEqual(datetime.time(20, 50), form3.cleaned_data['time_field'])
     206            form3 = I18nForm({
     207                'decimal_field': u'66666,666',
     208                'float_field': u'99999,999',
     209                'date_field': u'31/12/2009',
     210                'datetime_field': u'31/12/2009 20:50',
     211                'time_field': u'20:50'
     212            })
     213            self.assertEqual(True, form3.is_valid())
     214            self.assertEqual(decimal.Decimal('66666.666'), form3.cleaned_data['decimal_field'])
     215            self.assertEqual(99999.999, form3.cleaned_data['float_field'])
     216            self.assertEqual(datetime.date(2009, 12, 31), form3.cleaned_data['date_field'])
     217            self.assertEqual(datetime.datetime(2009, 12, 31, 20, 50), form3.cleaned_data['datetime_field'])
     218            self.assertEqual(datetime.time(20, 50), form3.cleaned_data['time_field'])
    210219
    211         form4 = SelectDateForm({
    212             'date_field_month': u'12',
    213             'date_field_day': u'31',
    214             'date_field_year': u'2009'
    215         })
    216         self.assertEqual(True, form4.is_valid())
    217         self.assertEqual(datetime.date(2009, 12, 31), form4.cleaned_data['date_field'])
    218         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)))
    219         deactivate()
     220            form4 = SelectDateForm({
     221                'date_field_month': u'12',
     222                'date_field_day': u'31',
     223                'date_field_year': u'2009'
     224            })
     225            self.assertEqual(True, form4.is_valid())
     226            self.assertEqual(datetime.date(2009, 12, 31), form4.cleaned_data['date_field'])
     227            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)))
     228        finally:
     229            deactivate()
    220230
    221231        # English locale
    222232
    223233        settings.USE_L10N = True
    224234        activate('en')
    225         self.assertEqual('N j, Y', get_format('DATE_FORMAT'))
    226         self.assertEqual(0, get_format('FIRST_DAY_OF_WEEK'))
    227         self.assertEqual('.', get_format('DECIMAL_SEPARATOR'))
    228         self.assertEqual(u'Dec. 31, 2009', date_format(d))
    229         self.assertEqual(u'December 2009', date_format(d, 'YEAR_MONTH_FORMAT'))
    230         self.assertEqual(u'12/31/2009 8:50 p.m.', date_format(dt, 'SHORT_DATETIME_FORMAT'))
    231         self.assertEqual('No localizable', localize('No localizable'))
     235        try:
     236            self.assertEqual('N j, Y', get_format('DATE_FORMAT'))
     237            self.assertEqual(0, get_format('FIRST_DAY_OF_WEEK'))
     238            self.assertEqual('.', get_format('DECIMAL_SEPARATOR'))
     239            self.assertEqual(u'Dec. 31, 2009', date_format(d))
     240            self.assertEqual(u'December 2009', date_format(d, 'YEAR_MONTH_FORMAT'))
     241            self.assertEqual(u'12/31/2009 8:50 p.m.', date_format(dt, 'SHORT_DATETIME_FORMAT'))
     242            self.assertEqual('No localizable', localize('No localizable'))
    232243
    233         settings.USE_THOUSAND_SEPARATOR = True
    234         self.assertEqual(u'66,666.666', localize(n))
    235         self.assertEqual(u'99,999.999', localize(f))
     244            settings.USE_THOUSAND_SEPARATOR = True
     245            self.assertEqual(u'66,666.666', localize(n))
     246            self.assertEqual(u'99,999.999', localize(f))
    236247
    237         settings.USE_THOUSAND_SEPARATOR = False
    238         self.assertEqual(u'66666.666', localize(n))
    239         self.assertEqual(u'99999.999', localize(f))
    240         self.assertEqual(u'Dec. 31, 2009', localize(d))
    241         self.assertEqual(u'Dec. 31, 2009, 8:50 p.m.', localize(dt))
     248            settings.USE_THOUSAND_SEPARATOR = False
     249            self.assertEqual(u'66666.666', localize(n))
     250            self.assertEqual(u'99999.999', localize(f))
     251            self.assertEqual(u'Dec. 31, 2009', localize(d))
     252            self.assertEqual(u'Dec. 31, 2009, 8:50 p.m.', localize(dt))
    242253
    243         settings.USE_THOUSAND_SEPARATOR = True
    244         self.assertEqual(u'66,666.666', template.Template('{{ n }}').render(ctxt))
    245         self.assertEqual(u'99,999.999', template.Template('{{ f }}').render(ctxt))
     254            settings.USE_THOUSAND_SEPARATOR = True
     255            self.assertEqual(u'66,666.666', template.Template('{{ n }}').render(ctxt))
     256            self.assertEqual(u'99,999.999', template.Template('{{ f }}').render(ctxt))
    246257
    247         settings.USE_THOUSAND_SEPARATOR = False
    248         self.assertEqual(u'66666.666', template.Template('{{ n }}').render(ctxt))
    249         self.assertEqual(u'99999.999', template.Template('{{ f }}').render(ctxt))
    250         self.assertEqual(u'Dec. 31, 2009', template.Template('{{ d }}').render(ctxt))
    251         self.assertEqual(u'Dec. 31, 2009, 8:50 p.m.', template.Template('{{ dt }}').render(ctxt))
    252         self.assertEqual(u'66666.67', template.Template('{{ n|floatformat:2 }}').render(ctxt))
    253         self.assertEqual(u'100000.0', template.Template('{{ f|floatformat }}').render(ctxt))
    254         self.assertEqual(u'12/31/2009', template.Template('{{ d|date:"SHORT_DATE_FORMAT" }}').render(ctxt))
    255         self.assertEqual(u'12/31/2009 8:50 p.m.', template.Template('{{ dt|date:"SHORT_DATETIME_FORMAT" }}').render(ctxt))
     258            settings.USE_THOUSAND_SEPARATOR = False
     259            self.assertEqual(u'66666.666', template.Template('{{ n }}').render(ctxt))
     260            self.assertEqual(u'99999.999', template.Template('{{ f }}').render(ctxt))
     261            self.assertEqual(u'Dec. 31, 2009', template.Template('{{ d }}').render(ctxt))
     262            self.assertEqual(u'Dec. 31, 2009, 8:50 p.m.', template.Template('{{ dt }}').render(ctxt))
     263            self.assertEqual(u'66666.67', template.Template('{{ n|floatformat:2 }}').render(ctxt))
     264            self.assertEqual(u'100000.0', template.Template('{{ f|floatformat }}').render(ctxt))
     265            self.assertEqual(u'12/31/2009', template.Template('{{ d|date:"SHORT_DATE_FORMAT" }}').render(ctxt))
     266            self.assertEqual(u'12/31/2009 8:50 p.m.', template.Template('{{ dt|date:"SHORT_DATETIME_FORMAT" }}').render(ctxt))
    256267
    257         form5 = I18nForm({
    258             'decimal_field': u'66666.666',
    259             'float_field': u'99999.999',
    260             'date_field': u'12/31/2009',
    261             'datetime_field': u'12/31/2009 20:50',
    262             'time_field': u'20:50'
    263         })
    264         self.assertEqual(True, form5.is_valid())
    265         self.assertEqual(decimal.Decimal('66666.666'), form5.cleaned_data['decimal_field'])
    266         self.assertEqual(99999.999, form5.cleaned_data['float_field'])
    267         self.assertEqual(datetime.date(2009, 12, 31), form5.cleaned_data['date_field'])
    268         self.assertEqual(datetime.datetime(2009, 12, 31, 20, 50), form5.cleaned_data['datetime_field'])
    269         self.assertEqual(datetime.time(20, 50), form5.cleaned_data['time_field'])
     268            form5 = I18nForm({
     269                'decimal_field': u'66666.666',
     270                'float_field': u'99999.999',
     271                'date_field': u'12/31/2009',
     272                'datetime_field': u'12/31/2009 20:50',
     273                'time_field': u'20:50'
     274            })
     275            self.assertEqual(True, form5.is_valid())
     276            self.assertEqual(decimal.Decimal('66666.666'), form5.cleaned_data['decimal_field'])
     277            self.assertEqual(99999.999, form5.cleaned_data['float_field'])
     278            self.assertEqual(datetime.date(2009, 12, 31), form5.cleaned_data['date_field'])
     279            self.assertEqual(datetime.datetime(2009, 12, 31, 20, 50), form5.cleaned_data['datetime_field'])
     280            self.assertEqual(datetime.time(20, 50), form5.cleaned_data['time_field'])
    270281
    271         form6 = SelectDateForm({
    272             'date_field_month': u'12',
    273             'date_field_day': u'31',
    274             'date_field_year': u'2009'
    275         })
    276         self.assertEqual(True, form6.is_valid())
    277         self.assertEqual(datetime.date(2009, 12, 31), form6.cleaned_data['date_field'])
    278         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)))
    279         deactivate()
     282            form6 = SelectDateForm({
     283                'date_field_month': u'12',
     284                'date_field_day': u'31',
     285                'date_field_year': u'2009'
     286            })
     287            self.assertEqual(True, form6.is_valid())
     288            self.assertEqual(datetime.date(2009, 12, 31), form6.cleaned_data['date_field'])
     289            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)))
     290        finally:
     291            deactivate()
    280292
    281293        # Check if sublocales fall back to the main locale
    282294        activate('de-at')
    283295        settings.USE_THOUSAND_SEPARATOR = True
    284         self.assertEqual(u'66.666,666', template.Template('{{ n }}').render(ctxt))
    285         deactivate()
     296        try:
     297            self.assertEqual(u'66.666,666', template.Template('{{ n }}').render(ctxt))
     298        finally:
     299            deactivate()
    286300
    287         activate('es-ar')
    288         self.assertEqual(u'31 de Diciembre de 2009', date_format(d))
    289         deactivate()
     301        activate('es-us')
     302        try:
     303            self.assertEqual(u'31 de diciembre de 2009', date_format(d))
     304        finally:
     305            deactivate()
    290306
    291307        # Restore defaults
    292308        settings.USE_I18N = old_use_i18n
Back to Top