diff options
| author | Marc Garcia <garcia.marc@gmail.com> | 2009-08-08 15:29:30 +0000 |
|---|---|---|
| committer | Marc Garcia <garcia.marc@gmail.com> | 2009-08-08 15:29:30 +0000 |
| commit | ac70e26bafb47f8a69aa805273724fba29ccc26f (patch) | |
| tree | 3bea1b9bb80609474c53c852bb113e0fef0e63d4 /tests | |
| parent | b6ceeb15958958587df8ee600c026b2251e9c4e0 (diff) | |
[soc2009/i18n] tests improved, and bugs fixed on tests and because of tests
git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/i18n-improvements@11414 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/regressiontests/i18n/tests.py | 199 |
1 files changed, 148 insertions, 51 deletions
diff --git a/tests/regressiontests/i18n/tests.py b/tests/regressiontests/i18n/tests.py index 0ec72dc440..eb19e7f4d3 100644 --- a/tests/regressiontests/i18n/tests.py +++ b/tests/regressiontests/i18n/tests.py @@ -69,11 +69,17 @@ Localization of dates and numbers >>> import datetime >>> import decimal +>>> from django.conf import settings >>> from django.utils.formats import getformat, date_format, number_format, localize +>>> from django.utils.numberformat import format >>> from django import template >>> from django import forms >>> from django.forms.extras import SelectDateWidget +>>> old_use_i18n = settings.USE_I18N +>>> old_use_format_i18n = settings.USE_FORMAT_I18N +>>> old_use_thousand_separator = settings.USE_THOUSAND_SEPARATOR + >>> n = decimal.Decimal('66666.666') >>> f = 99999.999 >>> d = datetime.date(2009, 12, 31) @@ -88,14 +94,23 @@ Localization of dates and numbers Locale independent ->>> number_format(n, decimal_sep='.', decimal_pos=2, grouping=3, thousand_sep=',') -'66,666.66' ->>> number_format(n, decimal_sep='A', decimal_pos=1, grouping=1, thousand_sep='B') -'6B6B6B6B6BA6' +>>> settings.USE_FORMAT_I18N = True +>>> settings.USE_THOUSAND_SEPARATOR = False +>>> format(n, decimal_sep='.', decimal_pos=2, grouping=3, thousand_sep=',') +u'66666.66' +>>> format(n, decimal_sep='A', decimal_pos=1, grouping=1, thousand_sep='B') +u'66666A6' +>>> settings.USE_THOUSAND_SEPARATOR = True +>>> format(n, decimal_sep='.', decimal_pos=2, grouping=3, thousand_sep=',') +u'66,666.66' +>>> format(n, decimal_sep='A', decimal_pos=1, grouping=1, thousand_sep='B') +u'6B6B6B6B6A6' -English locale +Catalan locale with format i18n disabled +translations will be used, but not formats ->>> activate('en') +>>> settings.USE_FORMAT_I18N = False +>>> activate('ca') >>> getformat('DATE_FORMAT') 'N j, Y' >>> getformat('FIRST_DAY_OF_WEEK') @@ -103,40 +118,102 @@ English locale >>> getformat('DECIMAL_SEPARATOR') '.' >>> date_format(d) -'December 31, 2009' +u'des. 31, 2009' >>> date_format(d, 'YEAR_MONTH_FORMAT') -'December 2009' ->>> date_format(d, 'SHORT_DATETIME_FORMAT') -'12/31/2009 8:50 p.m.' +u'desembre 2009' +>>> date_format(dt, 'SHORT_DATETIME_FORMAT') +u'12/31/2009 8:50 p.m.' >>> localize('No localizable') 'No localizable' >>> localize(n) -'66666.666' +Decimal('66666.666') >>> localize(f) -'99999.999' +99999.999 >>> localize(d) -'December 31, 2009' +datetime.date(2009, 12, 31) >>> localize(dt) -'December 31, 2009, 8:50 p.m.' +datetime.datetime(2009, 12, 31, 20, 50) >>> template.Template('{{ n }}').render(ctxt) -'66666.666' +u'66666.666' >>> template.Template('{{ f }}').render(ctxt) -'99999.999' +u'99999.999' >>> template.Template('{{ d }}').render(ctxt) -'December 31, 2009' +u'desembre 31, 2009' >>> template.Template('{{ dt }}').render(ctxt) -'December 31, 2009, 8:50 p.m.' +u'desembre 31, 2009, 8:50 p.m.' >>> template.Template('{{ n|floatformat:2 }}').render(ctxt) -'66666.66' +u'66666.67' >>> template.Template('{{ f|floatformat }}').render(ctxt) -'99999.9' +u'100000.0' >>> template.Template('{{ d|date:"SHORT_DATE_FORMAT" }}').render(ctxt) -'12/31/2009' +u'12/31/2009' >>> template.Template('{{ dt|date:"SHORT_DATETIME_FORMAT" }}').render(ctxt) -'12/31/2009 8:50 p.m.' ->>> form = I18nForm({'decimal_field': u'66666.666', 'float_field': u'99999.999', 'date_field': u'12/31/2009', 'datetime_field': u'12/31/2009 20:50', 'time_field': u'20:50'}) +u'12/31/2009 8:50 p.m.' +>>> form = I18nForm({'decimal_field': u'66666,666', 'float_field': u'99999,999', 'date_field': u'12/31/2009', 'datetime_field': u'12/31/2009 20:50', 'time_field': u'20:50'}) +>>> form.is_valid() +False +>>> SelectDateWidget().render('mydate', datetime.date(2009, 12, 31)) +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>' + +Catalan locale + +>>> settings.USE_FORMAT_I18N = True +>>> activate('ca') +>>> getformat('DATE_FORMAT') +'j \de N \de Y' +>>> getformat('FIRST_DAY_OF_WEEK') +1 +>>> getformat('DECIMAL_SEPARATOR') +',' +>>> date_format(d) +u'31 de desembre de 2009' +>>> date_format(d, 'YEAR_MONTH_FORMAT') +u'desembre de 2009' +>>> date_format(dt, 'SHORT_DATETIME_FORMAT') +u'31/12/2009 20:50' +>>> localize('No localizable') +'No localizable' +>>> settings.USE_THOUSAND_SEPARATOR = True +>>> localize(n) +u'66.666,666' +>>> localize(f) +u'99.999,999' +>>> settings.USE_THOUSAND_SEPARATOR = False +>>> localize(n) +u'66666,666' +>>> localize(f) +u'99999,999' +>>> localize(d) +u'31 de desembre de 2009' +>>> localize(dt) +u'31 de desembre de 2009 a les 20:50' +>>> settings.USE_THOUSAND_SEPARATOR = True +>>> template.Template('{{ n }}').render(ctxt) +u'66.666,666' +>>> template.Template('{{ f }}').render(ctxt) +u'99.999,999' +>>> settings.USE_THOUSAND_SEPARATOR = False +>>> template.Template('{{ n }}').render(ctxt) +u'66666,666' +>>> template.Template('{{ f }}').render(ctxt) +u'99999,999' +>>> template.Template('{{ d }}').render(ctxt) +u'31 de desembre de 2009' +>>> template.Template('{{ dt }}').render(ctxt) +u'31 de desembre de 2009 a les 20:50' +>>> template.Template('{{ n|floatformat:2 }}').render(ctxt) +u'66666,67' +>>> template.Template('{{ f|floatformat }}').render(ctxt) +u'100000,0' +>>> template.Template('{{ d|date:"SHORT_DATE_FORMAT" }}').render(ctxt) +u'31/12/2009' +>>> template.Template('{{ dt|date:"SHORT_DATETIME_FORMAT" }}').render(ctxt) +u'31/12/2009 20:50' +>>> form = I18nForm({'decimal_field': u'66666,666', 'float_field': u'99999,999', 'date_field': u'31/12/2009', 'datetime_field': u'31/12/2009 20:50', 'time_field': u'20:50'}) +>>> form.is_valid() +True >>> form.cleaned_data['decimal_field'] -decimal.Decimal('66666.666') +Decimal('66666.666') >>> form.cleaned_data['float_field'] 99999.999 >>> form.cleaned_data['date_field'] @@ -146,54 +223,67 @@ datetime.datetime(2009, 12, 31, 20, 50) >>> form.cleaned_data['time_field'] datetime.time(20, 50) >>> SelectDateWidget().render('mydate', datetime.date(2009, 12, 31)) -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>' +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>' -Catalan locale +English locale ->>> activate('ca') +>>> settings.USE_FORMAT_I18N = True +>>> activate('en') >>> getformat('DATE_FORMAT') -'j \de N \de Y' +'N j, Y' >>> getformat('FIRST_DAY_OF_WEEK') -1 +0 >>> getformat('DECIMAL_SEPARATOR') -',' +'.' >>> date_format(d) -'31 de desembre de 2009' +u'Dec. 31, 2009' >>> date_format(d, 'YEAR_MONTH_FORMAT') -'desembre de 2009' ->>> date_format(d, 'SHORT_DATETIME_FORMAT') -'31/12/2009 20:50' +u'December 2009' +>>> date_format(dt, 'SHORT_DATETIME_FORMAT') +u'12/31/2009 8:50 p.m.' >>> localize('No localizable') 'No localizable' +>>> settings.USE_THOUSAND_SEPARATOR = True +>>> localize(n) +u'66,666.666' +>>> localize(f) +u'99,999.999' +>>> settings.USE_THOUSAND_SEPARATOR = False >>> localize(n) -'66.666,666' +u'66666.666' >>> localize(f) -'99.999,999' +u'99999.999' >>> localize(d) -'31 de desembre de 2009' +u'Dec. 31, 2009' >>> localize(dt) -'31 de desembre de 2009 a les 20:50' ->>> tplt.render(ctxt) -'66.666,666 # 99.999,999 # 6 de juliol de 2009 # 6 de juliol de 2009 a les 20:50' +u'Dec. 31, 2009, 8:50 p.m.' +>>> settings.USE_THOUSAND_SEPARATOR = True +>>> template.Template('{{ n }}').render(ctxt) +u'66,666.666' +>>> template.Template('{{ f }}').render(ctxt) +u'99,999.999' +>>> settings.USE_THOUSAND_SEPARATOR = False >>> template.Template('{{ n }}').render(ctxt) -'66666,666' +u'66666.666' >>> template.Template('{{ f }}').render(ctxt) -'99999,999' +u'99999.999' >>> template.Template('{{ d }}').render(ctxt) -'31 de desembre de 2009' +u'Dec. 31, 2009' >>> template.Template('{{ dt }}').render(ctxt) -'31 de desembre de 2009 a les 20:50' +u'Dec. 31, 2009, 8:50 p.m.' >>> template.Template('{{ n|floatformat:2 }}').render(ctxt) -'66666,66' +u'66666.67' >>> template.Template('{{ f|floatformat }}').render(ctxt) -'99999,9' +u'100000.0' >>> template.Template('{{ d|date:"SHORT_DATE_FORMAT" }}').render(ctxt) -'31/12/2009' +u'12/31/2009' >>> template.Template('{{ dt|date:"SHORT_DATETIME_FORMAT" }}').render(ctxt) -'31/12/2009 20:50' ->>> form = I18nForm({'decimal_field': u'66666,666', 'float_field': u'99999,999', 'date_field': u'31/12/2009', 'datetime_field': u'31/12/2009 20:50', 'time_field': u'20:50'}) +u'12/31/2009 8:50 p.m.' +>>> form = I18nForm({'decimal_field': u'66666.666', 'float_field': u'99999.999', 'date_field': u'12/31/2009', 'datetime_field': u'12/31/2009 20:50', 'time_field': u'20:50'}) +>>> form.is_valid() +True >>> form.cleaned_data['decimal_field'] -decimal.Decimal('66666.666') +Decimal('66666.666') >>> form.cleaned_data['float_field'] 99999.999 >>> form.cleaned_data['date_field'] @@ -203,7 +293,14 @@ datetime.datetime(2009, 12, 31, 20, 50) >>> form.cleaned_data['time_field'] datetime.time(20, 50) >>> SelectDateWidget().render('mydate', datetime.date(2009, 12, 31)) -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">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_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>' +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>' + +Restore defaults + +>>> settings.USE_I18N = old_use_i18n +>>> settings.USE_FORMAT_I18N = old_use_format_i18n +>>> settings.USE_THOUSAND_SEPARATOR = old_use_thousand_separator +>>> deactivate() """ |
