|
1 import datetime |
|
2 import unittest |
|
3 |
|
4 from django.utils import feedgenerator, tzinfo |
|
5 |
|
6 class FeedgeneratorTest(unittest.TestCase): |
|
7 """ |
|
8 Tests for the low-level syndication feed framework. |
|
9 """ |
|
10 |
|
11 def test_get_tag_uri(self): |
|
12 """ |
|
13 Test get_tag_uri() correctly generates TagURIs. |
|
14 """ |
|
15 self.assertEqual( |
|
16 feedgenerator.get_tag_uri('http://example.org/foo/bar#headline', datetime.date(2004, 10, 25)), |
|
17 u'tag:example.org,2004-10-25:/foo/bar/headline') |
|
18 |
|
19 def test_get_tag_uri_with_port(self): |
|
20 """ |
|
21 Test that get_tag_uri() correctly generates TagURIs from URLs with port |
|
22 numbers. |
|
23 """ |
|
24 self.assertEqual( |
|
25 feedgenerator.get_tag_uri('http://www.example.org:8000/2008/11/14/django#headline', datetime.datetime(2008, 11, 14, 13, 37, 0)), |
|
26 u'tag:www.example.org,2008-11-14:/2008/11/14/django/headline') |
|
27 |
|
28 def test_rfc2822_date(self): |
|
29 """ |
|
30 Test rfc2822_date() correctly formats datetime objects. |
|
31 """ |
|
32 self.assertEqual( |
|
33 feedgenerator.rfc2822_date(datetime.datetime(2008, 11, 14, 13, 37, 0)), |
|
34 "Fri, 14 Nov 2008 13:37:00 -0000" |
|
35 ) |
|
36 |
|
37 def test_rfc2822_date_with_timezone(self): |
|
38 """ |
|
39 Test rfc2822_date() correctly formats datetime objects with tzinfo. |
|
40 """ |
|
41 self.assertEqual( |
|
42 feedgenerator.rfc2822_date(datetime.datetime(2008, 11, 14, 13, 37, 0, tzinfo=tzinfo.FixedOffset(datetime.timedelta(minutes=60)))), |
|
43 "Fri, 14 Nov 2008 13:37:00 +0100" |
|
44 ) |
|
45 |
|
46 def test_rfc3339_date(self): |
|
47 """ |
|
48 Test rfc3339_date() correctly formats datetime objects. |
|
49 """ |
|
50 self.assertEqual( |
|
51 feedgenerator.rfc3339_date(datetime.datetime(2008, 11, 14, 13, 37, 0)), |
|
52 "2008-11-14T13:37:00Z" |
|
53 ) |
|
54 |
|
55 def test_rfc3339_date_with_timezone(self): |
|
56 """ |
|
57 Test rfc3339_date() correctly formats datetime objects with tzinfo. |
|
58 """ |
|
59 self.assertEqual( |
|
60 feedgenerator.rfc3339_date(datetime.datetime(2008, 11, 14, 13, 37, 0, tzinfo=tzinfo.FixedOffset(datetime.timedelta(minutes=120)))), |
|
61 "2008-11-14T13:37:00+02:00" |
|
62 ) |
|
63 |