~ubuntu-branches/ubuntu/jaunty/python-django/jaunty-updates

« back to all changes in this revision

Viewing changes to tests/regressiontests/utils/timesince.py

  • Committer: Bazaar Package Importer
  • Author(s): Scott James Remnant
  • Date: 2008-11-15 19:15:33 UTC
  • mfrom: (1.1.6 upstream)
  • Revision ID: james.westby@ubuntu.com-20081115191533-xbt1ut2xf4fvwtvc
Tags: 1.0.1-0ubuntu1
* New upstream release:
  - Bug fixes.

* The tests/ sub-directory appaers to have been dropped upstream, so pull
  our patch to workaround the tests and modify the rules.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
"""
2
 
>>> from datetime import datetime, timedelta
3
 
>>> from django.utils.timesince import timesince, timeuntil
4
 
>>> from django.utils.tzinfo import LocalTimezone, FixedOffset
5
 
 
6
 
>>> t = datetime(2007, 8, 14, 13, 46, 0)
7
 
 
8
 
>>> onemicrosecond = timedelta(microseconds=1)
9
 
>>> onesecond = timedelta(seconds=1)
10
 
>>> oneminute = timedelta(minutes=1)
11
 
>>> onehour = timedelta(hours=1)
12
 
>>> oneday = timedelta(days=1)
13
 
>>> oneweek = timedelta(days=7)
14
 
>>> onemonth = timedelta(days=30)
15
 
>>> oneyear = timedelta(days=365)
16
 
 
17
 
# equal datetimes.
18
 
>>> timesince(t, t)
19
 
u'0 minutes'
20
 
 
21
 
# Microseconds and seconds are ignored.
22
 
>>> timesince(t, t+onemicrosecond)
23
 
u'0 minutes'
24
 
>>> timesince(t, t+onesecond)
25
 
u'0 minutes'
26
 
 
27
 
# Test other units.
28
 
>>> timesince(t, t+oneminute)
29
 
u'1 minute'
30
 
>>> timesince(t, t+onehour)
31
 
u'1 hour'
32
 
>>> timesince(t, t+oneday)
33
 
u'1 day'
34
 
>>> timesince(t, t+oneweek)
35
 
u'1 week'
36
 
>>> timesince(t, t+onemonth)
37
 
u'1 month'
38
 
>>> timesince(t, t+oneyear)
39
 
u'1 year'
40
 
 
41
 
# Test multiple units.
42
 
>>> timesince(t, t+2*oneday+6*onehour)
43
 
u'2 days, 6 hours'
44
 
>>> timesince(t, t+2*oneweek+2*oneday)
45
 
u'2 weeks, 2 days'
46
 
 
47
 
# If the two differing units aren't adjacent, only the first unit is displayed.
48
 
>>> timesince(t, t+2*oneweek+3*onehour+4*oneminute)
49
 
u'2 weeks'
50
 
>>> timesince(t, t+4*oneday+5*oneminute)
51
 
u'4 days'
52
 
 
53
 
# When the second date occurs before the first, we should always get 0 minutes.
54
 
>>> timesince(t, t-onemicrosecond)
55
 
u'0 minutes'
56
 
>>> timesince(t, t-onesecond)
57
 
u'0 minutes'
58
 
>>> timesince(t, t-oneminute)
59
 
u'0 minutes'
60
 
>>> timesince(t, t-onehour)
61
 
u'0 minutes'
62
 
>>> timesince(t, t-oneday)
63
 
u'0 minutes'
64
 
>>> timesince(t, t-oneweek)
65
 
u'0 minutes'
66
 
>>> timesince(t, t-onemonth)
67
 
u'0 minutes'
68
 
>>> timesince(t, t-oneyear)
69
 
u'0 minutes'
70
 
>>> timesince(t, t-2*oneday-6*onehour)
71
 
u'0 minutes'
72
 
>>> timesince(t, t-2*oneweek-2*oneday)
73
 
u'0 minutes'
74
 
>>> timesince(t, t-2*oneweek-3*onehour-4*oneminute)
75
 
u'0 minutes'
76
 
>>> timesince(t, t-4*oneday-5*oneminute)
77
 
u'0 minutes'
78
 
 
79
 
# When using two different timezones.
80
 
>>> now = datetime.now()
81
 
>>> now_tz = datetime.now(LocalTimezone(now))
82
 
>>> now_tz_i = datetime.now(FixedOffset((3 * 60) + 15))
83
 
>>> timesince(now)
84
 
u'0 minutes'
85
 
>>> timesince(now_tz)
86
 
u'0 minutes'
87
 
>>> timeuntil(now_tz, now_tz_i)
88
 
u'0 minutes'
89
 
"""