Ignore:
Timestamp:
12/28/08 15:16:50 (5 years ago)
Author:
xi
Message:

Refactored the test suite; updated include and library paths in setup.cfg.

File:
1 edited

Legend:

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

    r46 r322  
    11 
    2 import test_appliance 
    3 from yaml.reader import Reader, ReaderError 
    4  
     2import yaml.reader 
    53import codecs 
    64 
    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) 
     5def _run_reader(data, verbose): 
     6    try: 
     7        stream = yaml.reader.Reader(data) 
    378        while stream.peek() != u'\0': 
    389            stream.forward() 
     10    except yaml.reader.ReaderError, exc: 
     11        if verbose: 
     12            print exc 
     13    else: 
     14        raise AssertionError("expected an exception") 
    3915 
    40 TestReaderErrors.add_tests('testReaderUnicodeErrors', '.stream-error') 
    41 TestReaderErrors.add_tests('testReaderStringErrors', '.stream-error') 
    42 TestReaderErrors.add_tests('testReaderFileErrors', '.stream-error') 
     16def 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) 
    4329 
     30test_stream_error.unittest = ['.stream-error'] 
    4431 
     32if __name__ == '__main__': 
     33    import test_appliance 
     34    test_appliance.run(globals()) 
     35 
Note: See TracChangeset for help on using the changeset viewer.