diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/regressiontests/dateformat/tests.py | 2 | ||||
| -rw-r--r-- | tests/regressiontests/utils/dateformat.py | 48 | ||||
| -rw-r--r-- | tests/regressiontests/utils/tests.py | 2 |
3 files changed, 51 insertions, 1 deletions
diff --git a/tests/regressiontests/dateformat/tests.py b/tests/regressiontests/dateformat/tests.py index 481e36a7dd..d649d4789c 100644 --- a/tests/regressiontests/dateformat/tests.py +++ b/tests/regressiontests/dateformat/tests.py @@ -37,7 +37,7 @@ u'th' u'31' >>> no_tz or format(my_birthday, 'T') == 'CET' True ->>> no_tz or format(my_birthday, 'U') == '300531600' +>>> no_tz or format(my_birthday, 'U') == '300315600' True >>> format(my_birthday, 'w') u'0' diff --git a/tests/regressiontests/utils/dateformat.py b/tests/regressiontests/utils/dateformat.py new file mode 100644 index 0000000000..63b8201752 --- /dev/null +++ b/tests/regressiontests/utils/dateformat.py @@ -0,0 +1,48 @@ +""" +>>> from datetime import datetime, date +>>> from django.utils.dateformat import format +>>> from django.utils.tzinfo import FixedOffset, LocalTimezone + +# date +>>> d = date(2009, 5, 16) +>>> date.fromtimestamp(int(format(d, 'U'))) == d +True + +# Naive datetime +>>> dt = datetime(2009, 5, 16, 5, 30, 30) +>>> datetime.fromtimestamp(int(format(dt, 'U'))) == dt +True + +# datetime with local tzinfo +>>> ltz = LocalTimezone(datetime.now()) +>>> dt = datetime(2009, 5, 16, 5, 30, 30, tzinfo=ltz) +>>> datetime.fromtimestamp(int(format(dt, 'U')), ltz) == dt +True +>>> datetime.fromtimestamp(int(format(dt, 'U'))) == dt.replace(tzinfo=None) +True + +# datetime with arbitrary tzinfo +>>> tz = FixedOffset(-510) +>>> ltz = LocalTimezone(datetime.now()) +>>> dt = datetime(2009, 5, 16, 5, 30, 30, tzinfo=tz) +>>> datetime.fromtimestamp(int(format(dt, 'U')), tz) == dt +True +>>> datetime.fromtimestamp(int(format(dt, 'U')), ltz) == dt +True +>>> datetime.fromtimestamp(int(format(dt, 'U'))) == dt.astimezone(ltz).replace(tzinfo=None) +True +>>> datetime.fromtimestamp(int(format(dt, 'U')), tz).utctimetuple() == dt.utctimetuple() +True +>>> datetime.fromtimestamp(int(format(dt, 'U')), ltz).utctimetuple() == dt.utctimetuple() +True + +# Epoch +>>> utc = FixedOffset(0) +>>> udt = datetime(1970, 1, 1, tzinfo=utc) +>>> format(udt, 'U') +u'0' +""" + +if __name__ == "__main__": + import doctest + doctest.testmod() diff --git a/tests/regressiontests/utils/tests.py b/tests/regressiontests/utils/tests.py index 485c5faa75..6d345d9afb 100644 --- a/tests/regressiontests/utils/tests.py +++ b/tests/regressiontests/utils/tests.py @@ -8,6 +8,7 @@ from django.utils import html, checksums import timesince import datastructures +import dateformat import itercompat from decorators import DecoratorFromMiddlewareTests @@ -22,6 +23,7 @@ except NameError: __test__ = { 'timesince': timesince, 'datastructures': datastructures, + 'dateformat': dateformat, 'itercompat': itercompat, } |
