[Zope-Coders] Re: [Zope-Checkins] CVS: Zope/lib/python/DateTime/tests - testDateTime.py:1.13

Tres Seaver tseaver@zope.com
15 Oct 2002 14:11:58 -0400


Why do you drop 'testJulianWeek' below?  I'm guessing that your merge
difficulties are the source of that delta.


On Tue, 2002-10-15 at 13:53, Torped Strategy and Communications wrote:
> Update of /cvs-repository/Zope/lib/python/DateTime/tests
> In directory cvs.zope.org:/tmp/cvs-serv4158/lib/python/DateTime/tests
> 
> Modified Files:
> 	testDateTime.py 
> Log Message:
> Fix for collector issue #411. DateTime.rfc822() is not rfc2822 compliant.
> 
> === Zope/lib/python/DateTime/tests/testDateTime.py 1.12 => 1.13 ===
> --- Zope/lib/python/DateTime/tests/testDateTime.py:1.12	Wed Aug 14 17:33:49 2002
> +++ Zope/lib/python/DateTime/tests/testDateTime.py	Tue Oct 15 13:53:37 2002
> @@ -1,3 +1,4 @@
> +
>  # To run these tests, use:
>  #   python unittest.py DateTime.tests.suite
>  
> @@ -5,9 +6,7 @@
>  from DateTime import DateTime
>  import string
>  import math
> -
> -import os
> -__basedir__ = os.getcwd()
> +import time
>  
>  class DateTimeTests (unittest.TestCase):
>  
> @@ -94,7 +93,7 @@
>          # Compare representations as it's the
>          # only way to compare the dates to the same accuracy
>          self.assertEqual(repr(dt),repr(dt1))
> -
> +        
>      def testDayOfWeek(self):
>          '''strftime() used to always be passed a day of week of 0.'''
>          dt = DateTime('2000/6/16')
> @@ -218,27 +217,32 @@
>          isoDt = DateTime('2002-05-02T08:00:00Z-04:00')
>          self.assertEqual( ref1, isoDt)
>  
> -
> -    def testJulianWeek(self):
> -        """ check JulianDayWeek function """
> -
> -        try:
> -            import gzip
> -        except ImportError:
> -            print "Warning: testJulianWeek disabled: module gzip not found"
> -            return 0
> -
> -        lines  = gzip.GzipFile(os.path.join(__basedir__,
> -                                'julian_testdata.txt.gz')).readlines()
> -
> -        for line in lines:
> -            d = DateTime(line[:10])
> -            result_from_mx=tuple(map(int, line[12:-2].split(',')))
> -            self.assertEqual(result_from_mx[1], d.week())
> +    def testRFC822(self):
> +        '''rfc822 conversion'''
> +        isDST = time.localtime(time.time())[8]
> +        if isDST:
> +            offset = time.altzone
> +        else:
> +            offset = time.timezone
> +        
> +        rfc822zone = "%+03d%02d" % divmod( (-offset/60), 60)
> +        wrongzone = "%+03d:%02d" % divmod( (60-offset/60), 60) #one hour off, ISO format
> +        
> +        # Create a local DateTime and test
> +        dt = DateTime(2002, 5, 2, 8, 0, 0)
> +        self.assertEqual(dt.rfc822(),  'Thu, 02 May 2002 08:00:00' + ' ' + rfc822zone)
> +
> +        # Create a non-local date time and test
> +        dt = DateTime('2002-05-02T08:00:00Z'+wrongzone)
> +        self.assertEqual(dt.rfc822(),  'Thu, 02 May 2002 08:00:00 -0000')
> +
> +        
> +        
> +        #print dt.rfc822()
>  
>  
>  def test_suite():
>      return unittest.makeSuite(DateTimeTests)
>  
>  if __name__=="__main__":
> -    unittest.TextTestRunner().run(test_suite())
> +   unittest.TextTestRunner().run(test_suite())
> 
> 

Tres.
-- 
===============================================================
Tres Seaver                                tseaver@zope.com
Zope Corporation      "Zope Dealers"       http://www.zope.com