Changeset 136 for pyyaml/trunk/tests/test_structure.py
- Timestamp:
- 04/15/06 19:54:52 (7 years ago)
- File:
-
- 1 edited
-
pyyaml/trunk/tests/test_structure.py (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
pyyaml/trunk/tests/test_structure.py
r130 r136 10 10 node2 = eval(file(structure_filename, 'rb').read()) 11 11 try: 12 parser = Parser(Scanner(Reader(file(data_filename, 'rb'))))12 loader = Loader(file(data_filename, 'rb')) 13 13 node1 = [] 14 while not parser.check(StreamEndEvent):15 if not parser.check(StreamStartEvent, DocumentStartEvent, DocumentEndEvent):16 node1.append(self._convert( parser))14 while not loader.check_event(StreamEndEvent): 15 if not loader.check_event(StreamStartEvent, DocumentStartEvent, DocumentEndEvent): 16 node1.append(self._convert(loader)) 17 17 else: 18 parser.get()19 parser.get()18 loader.get_event() 19 loader.get_event() 20 20 if len(node1) == 1: 21 21 node1 = node1[0] … … 29 29 raise 30 30 31 def _convert(self, parser):32 if parser.check(ScalarEvent):33 event = parser.get()31 def _convert(self, loader): 32 if loader.check_event(ScalarEvent): 33 event = loader.get_event() 34 34 if event.tag or event.anchor or event.value: 35 35 return True 36 36 else: 37 37 return None 38 elif parser.check(SequenceStartEvent):39 parser.get()38 elif loader.check_event(SequenceStartEvent): 39 loader.get_event() 40 40 sequence = [] 41 while not parser.check(SequenceEndEvent):42 sequence.append(self._convert( parser))43 parser.get()41 while not loader.check_event(SequenceEndEvent): 42 sequence.append(self._convert(loader)) 43 loader.get_event() 44 44 return sequence 45 elif parser.check(MappingStartEvent):46 parser.get()45 elif loader.check_event(MappingStartEvent): 46 loader.get_event() 47 47 mapping = [] 48 while not parser.check(MappingEndEvent):49 key = self._convert( parser)50 value = self._convert( parser)48 while not loader.check_event(MappingEndEvent): 49 key = self._convert(loader) 50 value = self._convert(loader) 51 51 mapping.append((key, value)) 52 parser.get()52 loader.get_event() 53 53 return mapping 54 elif parser.check(AliasEvent):55 parser.get()54 elif loader.check_event(AliasEvent): 55 loader.get_event() 56 56 return '*' 57 57 else: 58 parser.get()58 loader.get_event() 59 59 return '?' 60 60 … … 67 67 events2 = None 68 68 try: 69 parser = Parser(Scanner(Reader(file(data_filename, 'rb')))) 70 events1 = list(iter(parser)) 71 canonical = test_appliance.CanonicalParser(file(canonical_filename, 'rb').read()) 72 events2 = canonical.parse() 69 events1 = list(parse(file(data_filename, 'rb'))) 70 events2 = list(test_appliance.canonical_parse(file(canonical_filename, 'rb'))) 73 71 self._compare(events1, events2) 74 72 except: … … 106 104 nodes2 = None 107 105 try: 108 resolver1 = Resolver(Composer(Parser(Scanner(Reader(file(data_filename, 'rb')))))) 109 nodes1 = list(iter(resolver1)) 110 canonical = test_appliance.CanonicalParser(file(canonical_filename, 'rb').read()) 111 canonical.parse() 112 resolver2 = Resolver(Composer(canonical)) 113 nodes2 = list(iter(resolver2)) 106 nodes1 = list(compose_all(file(data_filename, 'rb'))) 107 nodes2 = list(test_appliance.canonical_compose_all(file(canonical_filename, 'rb'))) 114 108 self.failUnlessEqual(len(nodes1), len(nodes2)) 115 109 for node1, node2 in zip(nodes1, nodes2): … … 148 142 TestResolver.add_tests('testResolver', '.data', '.canonical') 149 143 150 class MyConstructor (Constructor):144 class MyConstructor: 151 145 152 146 def construct_sequence(self, node): … … 158 152 return pairs 159 153 160 MyConstructor.add_constructor(None, MyConstructor.construct_scalar) 154 def construct_undefined(self, node): 155 return self.construct_scalar(node) 156 157 class MyLoader(MyConstructor, Loader): 158 pass 159 MyLoader.add_constructor(None, MyLoader.construct_undefined) 160 161 class MyCanonicalLoader(MyConstructor, test_appliance.CanonicalLoader): 162 pass 163 MyCanonicalLoader.add_constructor(None, MyCanonicalLoader.construct_undefined) 161 164 162 165 class TestConstructor(test_appliance.TestAppliance): 163 166 164 167 def _testConstructor(self, test_name, data_filename, canonical_filename): 165 natives1 = None 166 natives2 = None 167 try: 168 constructor1 = MyConstructor(Resolver(Composer(Parser(Scanner(Reader(file(data_filename, 'rb'))))))) 169 natives1 = list(iter(constructor1)) 170 canonical = test_appliance.CanonicalParser(file(canonical_filename, 'rb').read()) 171 canonical.parse() 172 constructor2 = MyConstructor(Resolver(Composer(canonical))) 173 natives2 = list(iter(constructor2)) 174 self.failUnlessEqual(natives1, natives2) 168 data1 = None 169 data2 = None 170 try: 171 data1 = list(load_all(file(data_filename, 'rb'), Loader=MyLoader)) 172 data2 = list(load_all(file(canonical_filename, 'rb'), Loader=MyCanonicalLoader)) 173 self.failUnlessEqual(data1, data2) 175 174 except: 176 175 print … … 179 178 print "DATA2:" 180 179 print file(canonical_filename, 'rb').read() 181 print "NATIVES1:", natives1182 print "NATIVES2:", natives2180 print "NATIVES1:", data1 181 print "NATIVES2:", data2 183 182 raise 184 183 … … 191 190 events2 = None 192 191 try: 193 parser = Parser(Scanner(Reader(file(canonical_filename, 'rb')))) 194 events1 = list(iter(parser)) 195 canonical = test_appliance.CanonicalParser(file(canonical_filename, 'rb').read()) 196 events2 = canonical.parse() 192 events1 = list(parse(file(canonical_filename, 'rb'))) 193 events2 = list(test_appliance.canonical_parse(file(canonical_filename, 'rb'))) 197 194 self._compare(events1, events2) 198 195 except:
Note: See TracChangeset
for help on using the changeset viewer.
