Ignore:
Timestamp:
07/07/06 15:39:29 (8 years ago)
Author:
xi
Message:

Update PyRex? based bindings to libyaml to include Parser functions.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pyyaml/trunk/tests/test_yaml_ext.py

    r195 r205  
    99        self.failUnlessEqual("%s.%s.%s" % _yaml.get_version(), _yaml.get_version_string()) 
    1010 
    11 class TestExtScanner(test_appliance.TestAppliance): 
     11class TestExtLoader(test_appliance.TestAppliance): 
    1212 
    1313    def _testExtScanner(self, test_name, data_filename, canonical_filename): 
     
    3535            raise 
    3636 
    37 TestExtScanner.add_tests('testExtScanner', '.data', '.canonical') 
     37    def _testExtParser(self, test_name, data_filename, canonical_filename): 
     38        data = file(data_filename, 'r').read() 
     39        events = list(yaml.parse(data)) 
     40        ext_events = [] 
     41        try: 
     42            for event in yaml.parse(data, Loader=yaml.ExtLoader): 
     43                ext_events.append(event) 
     44                #print "EVENT:", event 
     45            self.failUnlessEqual(len(events), len(ext_events)) 
     46            for event, ext_event in zip(events, ext_events): 
     47                self.failUnlessEqual(event.__class__, ext_event.__class__) 
     48                if hasattr(event, 'anchor'): 
     49                    self.failUnlessEqual(event.anchor, ext_event.anchor) 
     50                if hasattr(event, 'tag'): 
     51                    self.failUnlessEqual(event.tag, ext_event.tag) 
     52                if hasattr(event, 'implicit'): 
     53                    self.failUnlessEqual(event.implicit, ext_event.implicit) 
     54                if hasattr(event, 'value'): 
     55                    self.failUnlessEqual(event.value, ext_event.value) 
     56        except: 
     57            print 
     58            print "DATA:" 
     59            print file(data_filename, 'rb').read() 
     60            print "EVENTS:", events 
     61            print "EXT_EVENTS:", ext_events 
     62            raise 
     63 
     64TestExtLoader.add_tests('testExtScanner', '.data', '.canonical') 
     65TestExtLoader.add_tests('testExtParser', '.data', '.canonical') 
    3866 
    3967def main(module='__main__'): 
Note: See TracChangeset for help on using the changeset viewer.