parts/django/tests/regressiontests/utils/feedgenerator.py
changeset 307 c6bca38c1cbf
equal deleted inserted replaced
306:5ff1fc726848 307:c6bca38c1cbf
       
     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