aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ext_depends/D-YAML/source/dyaml/test/reader.d
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext_depends/D-YAML/source/dyaml/test/reader.d')
-rw-r--r--src/ext_depends/D-YAML/source/dyaml/test/reader.d37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/ext_depends/D-YAML/source/dyaml/test/reader.d b/src/ext_depends/D-YAML/source/dyaml/test/reader.d
new file mode 100644
index 0000000..c20df6f
--- /dev/null
+++ b/src/ext_depends/D-YAML/source/dyaml/test/reader.d
@@ -0,0 +1,37 @@
+
+// Copyright Ferdinand Majerech 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+module dyaml.test.reader;
+
+@safe unittest
+{
+ import std.exception :assertThrown;
+
+ import dyaml.test.common : readData, run;
+ import dyaml.reader : Reader, ReaderException;
+
+ /**
+ Try reading entire file through Reader, expecting an error (the file is invalid).
+
+ Params: data = Stream to read.
+ */
+ static void runReader(ubyte[] fileData) @safe
+ {
+ auto reader = new Reader(fileData);
+ while(reader.peek() != '\0') { reader.forward(); }
+ }
+
+ /**
+ Stream error unittest. Tries to read invalid input files, expecting errors.
+
+ Params: errorFilename = File name to read from.
+ */
+ static void testStreamError(string errorFilename) @safe
+ {
+ assertThrown!ReaderException(runReader(readData(errorFilename)));
+ }
+ run(&testStreamError, ["stream-error"]);
+}