diff options
author | xi <xi@18f92427-320e-0410-9341-c67f048884a3> | 2006-04-18 16:48:00 +0000 |
---|---|---|
committer | xi <xi@18f92427-320e-0410-9341-c67f048884a3> | 2006-04-18 16:48:00 +0000 |
commit | 5ca5667d9cd146b216485c3d4c8413409c21b378 (patch) | |
tree | a9f7ea432c2d5675a13019c04df1f7b15eb1b551 /tests | |
parent | 782ef55810fe27ac6b41539346563feaec3bce39 (diff) | |
download | pyyaml-5ca5667d9cd146b216485c3d4c8413409c21b378.tar.gz |
Add more unit tests for error messages.
git-svn-id: http://svn.pyyaml.org/pyyaml/trunk@141 18f92427-320e-0410-9341-c67f048884a3
Diffstat (limited to 'tests')
24 files changed, 129 insertions, 0 deletions
diff --git a/tests/data/empty-anchor.emitter-error b/tests/data/empty-anchor.emitter-error new file mode 100644 index 0000000..ce663b6 --- /dev/null +++ b/tests/data/empty-anchor.emitter-error @@ -0,0 +1,5 @@ +- !StreamStart +- !DocumentStart +- !Scalar { anchor: '', value: 'foo' } +- !DocumentEnd +- !StreamEnd diff --git a/tests/data/empty-tag-handle.emitter-error b/tests/data/empty-tag-handle.emitter-error new file mode 100644 index 0000000..235c899 --- /dev/null +++ b/tests/data/empty-tag-handle.emitter-error @@ -0,0 +1,5 @@ +- !StreamStart +- !DocumentStart { tags: { '': 'bar' } } +- !Scalar { value: 'foo' } +- !DocumentEnd +- !StreamEnd diff --git a/tests/data/empty-tag-prefix.emitter-error b/tests/data/empty-tag-prefix.emitter-error new file mode 100644 index 0000000..c6c0e95 --- /dev/null +++ b/tests/data/empty-tag-prefix.emitter-error @@ -0,0 +1,5 @@ +- !StreamStart +- !DocumentStart { tags: { '!': '' } } +- !Scalar { value: 'foo' } +- !DocumentEnd +- !StreamEnd diff --git a/tests/data/empty-tag.emitter-error b/tests/data/empty-tag.emitter-error new file mode 100644 index 0000000..b7ca593 --- /dev/null +++ b/tests/data/empty-tag.emitter-error @@ -0,0 +1,5 @@ +- !StreamStart +- !DocumentStart +- !Scalar { tag: '', value: 'key', implicit: [false,false] } +- !DocumentEnd +- !StreamEnd diff --git a/tests/data/expected-document-end.emitter-error b/tests/data/expected-document-end.emitter-error new file mode 100644 index 0000000..0cbab89 --- /dev/null +++ b/tests/data/expected-document-end.emitter-error @@ -0,0 +1,6 @@ +- !StreamStart +- !DocumentStart +- !Scalar { value: 'data 1' } +- !Scalar { value: 'data 2' } +- !DocumentEnd +- !StreamEnd diff --git a/tests/data/expected-document-start.emitter-error b/tests/data/expected-document-start.emitter-error new file mode 100644 index 0000000..8ce575e --- /dev/null +++ b/tests/data/expected-document-start.emitter-error @@ -0,0 +1,4 @@ +- !StreamStart +- !MappingStart +- !MappingEnd +- !StreamEnd diff --git a/tests/data/expected-node-1.emitter-error b/tests/data/expected-node-1.emitter-error new file mode 100644 index 0000000..36ceca3 --- /dev/null +++ b/tests/data/expected-node-1.emitter-error @@ -0,0 +1,4 @@ +- !StreamStart +- !DocumentStart +- !DocumentEnd +- !StreamEnd diff --git a/tests/data/expected-node-2.emitter-error b/tests/data/expected-node-2.emitter-error new file mode 100644 index 0000000..891ee37 --- /dev/null +++ b/tests/data/expected-node-2.emitter-error @@ -0,0 +1,7 @@ +- !StreamStart +- !DocumentStart +- !MappingStart +- !Scalar { value: 'key' } +- !MappingEnd +- !DocumentEnd +- !StreamEnd diff --git a/tests/data/expected-nothing.emitter-error b/tests/data/expected-nothing.emitter-error new file mode 100644 index 0000000..62c54d3 --- /dev/null +++ b/tests/data/expected-nothing.emitter-error @@ -0,0 +1,4 @@ +- !StreamStart +- !StreamEnd +- !StreamStart +- !StreamEnd diff --git a/tests/data/expected-stream-start.emitter-error b/tests/data/expected-stream-start.emitter-error new file mode 100644 index 0000000..480dc2e --- /dev/null +++ b/tests/data/expected-stream-start.emitter-error @@ -0,0 +1,2 @@ +- !DocumentStart +- !DocumentEnd diff --git a/tests/data/invalid-anchor.emitter-error b/tests/data/invalid-anchor.emitter-error new file mode 100644 index 0000000..3d2a814 --- /dev/null +++ b/tests/data/invalid-anchor.emitter-error @@ -0,0 +1,5 @@ +- !StreamStart +- !DocumentStart +- !Scalar { anchor: '5*5=25', value: 'foo' } +- !DocumentEnd +- !StreamEnd diff --git a/tests/data/invalid-tag-handle-1.emitter-error b/tests/data/invalid-tag-handle-1.emitter-error new file mode 100644 index 0000000..d5df9a2 --- /dev/null +++ b/tests/data/invalid-tag-handle-1.emitter-error @@ -0,0 +1,5 @@ +- !StreamStart +- !DocumentStart { tags: { '!foo': 'bar' } } +- !Scalar { value: 'foo' } +- !DocumentEnd +- !StreamEnd diff --git a/tests/data/invalid-tag-handle-2.emitter-error b/tests/data/invalid-tag-handle-2.emitter-error new file mode 100644 index 0000000..d1831d5 --- /dev/null +++ b/tests/data/invalid-tag-handle-2.emitter-error @@ -0,0 +1,5 @@ +- !StreamStart +- !DocumentStart { tags: { '!!!': 'bar' } } +- !Scalar { value: 'foo' } +- !DocumentEnd +- !StreamEnd diff --git a/tests/data/no-alias-anchor.emitter-error b/tests/data/no-alias-anchor.emitter-error new file mode 100644 index 0000000..5ff065c --- /dev/null +++ b/tests/data/no-alias-anchor.emitter-error @@ -0,0 +1,8 @@ +- !StreamStart +- !DocumentStart +- !SequenceStart +- !Scalar { anchor: A, value: data } +- !Alias { } +- !SequenceEnd +- !DocumentEnd +- !StreamEnd diff --git a/tests/data/no-tag.emitter-error b/tests/data/no-tag.emitter-error new file mode 100644 index 0000000..384c62f --- /dev/null +++ b/tests/data/no-tag.emitter-error @@ -0,0 +1,5 @@ +- !StreamStart +- !DocumentStart +- !Scalar { value: 'foo', implicit: [false,false] } +- !DocumentEnd +- !StreamEnd diff --git a/tests/data/recursive.dumper-error b/tests/data/recursive.dumper-error new file mode 100644 index 0000000..3c7cc2f --- /dev/null +++ b/tests/data/recursive.dumper-error @@ -0,0 +1,3 @@ +data = [] +data.append(data) +dump(data) diff --git a/tests/data/serializer-is-already-opened.dumper-error b/tests/data/serializer-is-already-opened.dumper-error new file mode 100644 index 0000000..0f66a46 --- /dev/null +++ b/tests/data/serializer-is-already-opened.dumper-error @@ -0,0 +1,3 @@ +dumper = Dumper(StringIO.StringIO()) +dumper.open() +dumper.open() diff --git a/tests/data/serializer-is-closed-1.dumper-error b/tests/data/serializer-is-closed-1.dumper-error new file mode 100644 index 0000000..5d9ecfc --- /dev/null +++ b/tests/data/serializer-is-closed-1.dumper-error @@ -0,0 +1,4 @@ +dumper = Dumper(StringIO.StringIO()) +dumper.open() +dumper.close() +dumper.open() diff --git a/tests/data/serializer-is-closed-2.dumper-error b/tests/data/serializer-is-closed-2.dumper-error new file mode 100644 index 0000000..0762145 --- /dev/null +++ b/tests/data/serializer-is-closed-2.dumper-error @@ -0,0 +1,4 @@ +dumper = Dumper(StringIO.StringIO()) +dumper.open() +dumper.close() +dumper.serialize(ScalarNode(tag='!foo', value='bar')) diff --git a/tests/data/serializer-is-not-opened-1.dumper-error b/tests/data/serializer-is-not-opened-1.dumper-error new file mode 100644 index 0000000..1d21554 --- /dev/null +++ b/tests/data/serializer-is-not-opened-1.dumper-error @@ -0,0 +1,2 @@ +dumper = Dumper(StringIO.StringIO()) +dumper.close() diff --git a/tests/data/serializer-is-not-opened-2.dumper-error b/tests/data/serializer-is-not-opened-2.dumper-error new file mode 100644 index 0000000..d1d7f98 --- /dev/null +++ b/tests/data/serializer-is-not-opened-2.dumper-error @@ -0,0 +1,2 @@ +dumper = Dumper(StringIO.StringIO()) +dumper.serialize(ScalarNode(tag='!foo', value='bar')) diff --git a/tests/data/unknown.dumper-error b/tests/data/unknown.dumper-error new file mode 100644 index 0000000..4de4279 --- /dev/null +++ b/tests/data/unknown.dumper-error @@ -0,0 +1 @@ +safe_dump(object) diff --git a/tests/data/unsupported-version.emitter-error b/tests/data/unsupported-version.emitter-error new file mode 100644 index 0000000..f9c6197 --- /dev/null +++ b/tests/data/unsupported-version.emitter-error @@ -0,0 +1,5 @@ +- !StreamStart +- !DocumentStart { version: [5,6] } +- !Scalar { value: foo } +- !DocumentEnd +- !StreamEnd diff --git a/tests/test_errors.py b/tests/test_errors.py index f85fee1..6c651b4 100644 --- a/tests/test_errors.py +++ b/tests/test_errors.py @@ -1,5 +1,8 @@ import test_appliance +import test_emitter + +import StringIO from yaml import * @@ -13,6 +16,31 @@ class TestErrors(test_appliance.TestAppliance): #self._load_string(invalid_filename) self.failUnlessRaises(YAMLError, lambda: self._load_string(invalid_filename)) + def _testEmitterErrors(self, test_name, invalid_filename): + events = list(load(file(invalid_filename, 'rb').read(), + Loader=test_emitter.EventsLoader)) + self.failUnlessRaises(YAMLError, lambda: self._emit(events)) + + def _testDumperErrors(self, test_name, invalid_filename): + code = file(invalid_filename, 'rb').read() + self.failUnlessRaises(YAMLError, lambda: self._dump(code)) + + def _dump(self, code): + try: + exec code + except YAMLError, exc: + #print '.'*70 + #print "%s:" % exc.__class__.__name__, exc + raise + + def _emit(self, events): + try: + emit(events) + except EmitterError, exc: + #print '.'*70 + #print "%s:" % exc.__class__.__name__, exc + raise + def _load(self, filename): try: return list(load_all(file(filename, 'rb'))) @@ -40,4 +68,6 @@ class TestErrors(test_appliance.TestAppliance): TestErrors.add_tests('testLoaderErrors', '.loader-error') TestErrors.add_tests('testLoaderStringErrors', '.loader-error') +TestErrors.add_tests('testEmitterErrors', '.emitter-error') +TestErrors.add_tests('testDumperErrors', '.dumper-error') |