| 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 | |
| | 64 | TestExtLoader.add_tests('testExtScanner', '.data', '.canonical') |
| | 65 | TestExtLoader.add_tests('testExtParser', '.data', '.canonical') |