Changeset 141


Ignore:
Timestamp:
04/18/06 12:48:00 (8 years ago)
Author:
xi
Message:

Add more unit tests for error messages.

Location:
pyyaml/trunk
Files:
23 added
2 edited

Legend:

Unmodified
Added
Removed
  • pyyaml/trunk/lib/yaml/emitter.py

    r137 r141  
    466466                self.prepared_tag = None 
    467467                return 
    468             if self.event.implicit[0] and not tag: 
     468            if self.event.implicit[0] and tag is None: 
    469469                tag = u'!' 
    470470                self.prepared_tag = None 
     
    473473                self.prepared_tag = None 
    474474                return 
    475         if not tag: 
     475        if tag is None: 
    476476            raise EmitterError("tag is not specified") 
    477477        if self.prepared_tag is None: 
     
    609609                    or ch in u'-_'): 
    610610                raise EmitterError("invalid character %r in the anchor: %r" 
    611                         % (ch.encode('utf-8'), text.encode('utf-8'))) 
     611                        % (ch.encode('utf-8'), anchor.encode('utf-8'))) 
    612612        return anchor 
    613613 
  • pyyaml/trunk/tests/test_errors.py

    r140 r141  
    11 
    22import test_appliance 
     3import test_emitter 
     4 
     5import StringIO 
    36 
    47from yaml import * 
     
    1316        #self._load_string(invalid_filename) 
    1417        self.failUnlessRaises(YAMLError, lambda: self._load_string(invalid_filename)) 
     18 
     19    def _testEmitterErrors(self, test_name, invalid_filename): 
     20        events = list(load(file(invalid_filename, 'rb').read(), 
     21            Loader=test_emitter.EventsLoader)) 
     22        self.failUnlessRaises(YAMLError, lambda: self._emit(events)) 
     23 
     24    def _testDumperErrors(self, test_name, invalid_filename): 
     25        code = file(invalid_filename, 'rb').read() 
     26        self.failUnlessRaises(YAMLError, lambda: self._dump(code)) 
     27 
     28    def _dump(self, code): 
     29        try: 
     30            exec code 
     31        except YAMLError, exc: 
     32            #print '.'*70 
     33            #print "%s:" % exc.__class__.__name__, exc 
     34            raise 
     35 
     36    def _emit(self, events): 
     37        try: 
     38            emit(events) 
     39        except EmitterError, exc: 
     40            #print '.'*70 
     41            #print "%s:" % exc.__class__.__name__, exc 
     42            raise 
    1543 
    1644    def _load(self, filename): 
     
    4169TestErrors.add_tests('testLoaderErrors', '.loader-error') 
    4270TestErrors.add_tests('testLoaderStringErrors', '.loader-error') 
     71TestErrors.add_tests('testEmitterErrors', '.emitter-error') 
     72TestErrors.add_tests('testDumperErrors', '.dumper-error') 
    4373 
Note: See TracChangeset for help on using the changeset viewer.