Changeset 322 for pyyaml/trunk/tests/test_reader.py
- Timestamp:
- 12/28/08 15:16:50 (4 years ago)
- File:
-
- 1 edited
-
pyyaml/trunk/tests/test_reader.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
pyyaml/trunk/tests/test_reader.py
r46 r322 1 1 2 import test_appliance 3 from yaml.reader import Reader, ReaderError 4 2 import yaml.reader 5 3 import codecs 6 4 7 class TestReaderErrors(test_appliance.TestAppliance): 8 9 def _testReaderUnicodeErrors(self, test_name, stream_filename): 10 for encoding in ['utf-8', 'utf-16-le', 'utf-16-be']: 11 try: 12 data = unicode(file(stream_filename, 'rb').read(), encoding) 13 break 14 except: 15 pass 16 else: 17 return 18 #self._load(data) 19 self.failUnlessRaises(ReaderError, 20 lambda: self._load(data)) 21 #self._load(codecs.open(stream_filename, encoding=encoding)) 22 self.failUnlessRaises(ReaderError, 23 lambda: self._load(codecs.open(stream_filename, encoding=encoding))) 24 25 def _testReaderStringErrors(self, test_name, stream_filename): 26 data = file(stream_filename, 'rb').read() 27 #self._load(data) 28 self.failUnlessRaises(ReaderError, lambda: self._load(data)) 29 30 def _testReaderFileErrors(self, test_name, stream_filename): 31 data = file(stream_filename, 'rb') 32 #self._load(data) 33 self.failUnlessRaises(ReaderError, lambda: self._load(data)) 34 35 def _load(self, data): 36 stream = Reader(data) 5 def _run_reader(data, verbose): 6 try: 7 stream = yaml.reader.Reader(data) 37 8 while stream.peek() != u'\0': 38 9 stream.forward() 10 except yaml.reader.ReaderError, exc: 11 if verbose: 12 print exc 13 else: 14 raise AssertionError("expected an exception") 39 15 40 TestReaderErrors.add_tests('testReaderUnicodeErrors', '.stream-error') 41 TestReaderErrors.add_tests('testReaderStringErrors', '.stream-error') 42 TestReaderErrors.add_tests('testReaderFileErrors', '.stream-error') 16 def test_stream_error(error_filename, verbose=False): 17 _run_reader(open(error_filename, 'rb'), verbose) 18 _run_reader(open(error_filename, 'rb').read(), verbose) 19 for encoding in ['utf-8', 'utf-16-le', 'utf-16-be']: 20 try: 21 data = unicode(open(error_filename, 'rb').read(), encoding) 22 break 23 except UnicodeDecodeError: 24 pass 25 else: 26 return 27 _run_reader(data, verbose) 28 _run_reader(codecs.open(error_filename, encoding=encoding), verbose) 43 29 30 test_stream_error.unittest = ['.stream-error'] 44 31 32 if __name__ == '__main__': 33 import test_appliance 34 test_appliance.run(globals()) 35
Note: See TracChangeset
for help on using the changeset viewer.
