Changeset 225 for pyyaml/trunk/tests

Show
Ignore:
Timestamp:
08/16/06 14:22:38 (6 years ago)
Author:
xi
Message:

Fix timestamp constructing and representing (close #25).

Location:
pyyaml/trunk/tests
Files:
2 added
3 modified

Legend:

Unmodified
Added
Removed
  • pyyaml/trunk/tests/data/construct-timestamp.code

    r58 r225  
    44    "space separated": datetime.datetime(2001, 12, 15, 2, 59, 43, 100000), 
    55    "no time zone (Z)": datetime.datetime(2001, 12, 15, 2, 59, 43, 100000), 
    6     "date (00:00:00Z)": datetime.datetime(2002, 12, 14), 
     6    "date (00:00:00Z)": datetime.date(2002, 12, 14), 
    77} 
  • pyyaml/trunk/tests/test_constructor.py

    r222 r225  
    11 
    22import test_appliance 
    3 try: 
    4     import datetime 
    5 except ImportError: 
    6     pass 
     3 
     4import datetime 
    75try: 
    86    set 
     
    240238    def __eq__(self, other): 
    241239        return type(self) is type(other) and dict(self) == dict(other) 
     240 
     241class FixedOffset(datetime.tzinfo): 
     242 
     243    def __init__(self, offset, name): 
     244        self.__offset = datetime.timedelta(minutes=offset) 
     245        self.__name = name 
     246 
     247    def utcoffset(self, dt): 
     248        return self.__offset 
     249 
     250    def tzname(self, dt): 
     251        return self.__name 
     252 
     253    def dst(self, dt): 
     254        return datetime.timedelta(0) 
     255 
    242256 
    243257def execute(code): 
     
    258272            try: 
    259273                self.failUnlessEqual(data1, data2) 
    260             except AssertionError: 
     274            except (AssertionError, TypeError): 
    261275                if isinstance(data1, dict): 
    262276                    data1 = [(repr(key), value) for key, value in data1.items()] 
     
    275289                                (item2 != item2 or (item2 == 0.0 and item2 == 1.0)): 
    276290                            continue 
     291                        if isinstance(item1, datetime.datetime): 
     292                            item1 = item1.utctimetuple() 
     293                        if isinstance(item2, datetime.datetime): 
     294                            item2 = item2.utctimetuple() 
    277295                        self.failUnlessEqual(item1, item2) 
    278296                else: 
  • pyyaml/trunk/tests/test_representer.py

    r173 r225  
    2020            try: 
    2121                self.failUnlessEqual(data1, data2) 
    22             except AssertionError: 
     22            except (AssertionError, TypeError): 
    2323                if isinstance(data1, dict): 
    2424                    data1 = [(repr(key), value) for key, value in data1.items()] 
     
    3737                                (item2 != item2 or (item2 == 0.0 and item2 == 1.0)): 
    3838                            continue 
     39                        if isinstance(item1, datetime.datetime): 
     40                            item1 = item1.utctimetuple() 
     41                        if isinstance(item2, datetime.datetime): 
     42                            item2 = item2.utctimetuple() 
    3943                        self.failUnlessEqual(item1, item2) 
    4044                else: