Changeset 312


Ignore:
Timestamp:
12/27/08 14:09:03 (6 years ago)
Author:
xi
Message:

Fixed test errors for LibYAML bindings; added a test on emitting nodes in all possible styles.

Location:
pyyaml/trunk/tests
Files:
6 added
3 edited

Legend:

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

    r150 r312  
    1010 
    1111    DATA = 'tests/data' 
     12    SKIP_EXT = '.skip' 
    1213 
    1314    all_tests = {} 
     
    2021        for test in cls.all_tests: 
    2122            available_extensions = cls.all_tests[test] 
     23            if cls.SKIP_EXT in available_extensions: 
     24                continue 
    2225            for ext in extensions: 
    2326                if ext not in available_extensions: 
  • pyyaml/trunk/tests/test_emitter.py

    r137 r312  
    3535                self.failUnlessEqual(event.value, new_event.value) 
    3636 
     37    def _testEmitterStyles(self, test_name, canonical_filename, data_filename): 
     38        for filename in [canonical_filename, data_filename]: 
     39            events = list(parse(file(filename, 'rb'))) 
     40            for flow_style in [False, True]: 
     41                for style in ['|', '>', '"', '\'', '']: 
     42                    styled_events = [] 
     43                    for event in events: 
     44                        if isinstance(event, ScalarEvent): 
     45                            event = ScalarEvent(event.anchor, event.tag, 
     46                                    event.implicit, event.value, style=style) 
     47                        elif isinstance(event, SequenceStartEvent): 
     48                            event = SequenceStartEvent(event.anchor, event.tag, 
     49                                    event.implicit, flow_style=flow_style) 
     50                        elif isinstance(event, MappingStartEvent): 
     51                            event = MappingStartEvent(event.anchor, event.tag, 
     52                                    event.implicit, flow_style=flow_style) 
     53                        styled_events.append(event) 
     54                    stream = StringIO.StringIO() 
     55                    emit(styled_events, stream) 
     56                    data = stream.getvalue() 
     57                    #print data 
     58                    new_events = list(parse(data)) 
     59                    for event, new_event in zip(events, new_events): 
     60                        self.failUnlessEqual(event.__class__, new_event.__class__) 
     61                        if isinstance(event, NodeEvent): 
     62                            self.failUnlessEqual(event.anchor, new_event.anchor) 
     63                        if isinstance(event, CollectionStartEvent): 
     64                            self.failUnlessEqual(event.tag, new_event.tag) 
     65                        if isinstance(event, ScalarEvent): 
     66                            #self.failUnlessEqual(event.implicit, new_event.implicit) 
     67                            if True not in event.implicit+new_event.implicit: 
     68                                self.failUnlessEqual(event.tag, new_event.tag) 
     69                            self.failUnlessEqual(event.value, new_event.value) 
     70 
     71 
    3772    def _dump(self, filename, events, canonical): 
    3873        print "="*30 
     
    4681TestEmitter.add_tests('testEmitterOnCanonicalNormally', '.canonical') 
    4782TestEmitter.add_tests('testEmitterOnCanonicalCanonically', '.canonical') 
     83TestEmitter.add_tests('testEmitterStyles', '.canonical', '.data') 
    4884 
    4985class EventsLoader(Loader): 
  • pyyaml/trunk/tests/test_yaml_ext.py

    r311 r312  
    33 
    44import _yaml, yaml 
     5 
     6test_appliance.TestAppliance.SKIP_EXT = '.skip-ext' 
    57 
    68class TestCVersion(unittest.TestCase): 
     
    103105                if hasattr(event, 'value'): 
    104106                    self.failUnlessEqual(event.value, ext_event.value) 
    105                 if hasattr(event, 'explicit'): 
     107                if hasattr(event, 'explicit') and event.explicit: 
    106108                    self.failUnlessEqual(event.explicit, ext_event.explicit) 
    107109                if hasattr(event, 'version'): 
Note: See TracChangeset for help on using the changeset viewer.