summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test-Handles.cc30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/test-Handles.cc b/tests/test-Handles.cc
index d2e2396..04c35fc 100644
--- a/tests/test-Handles.cc
+++ b/tests/test-Handles.cc
@@ -125,5 +125,35 @@ void MainTask::Do() {
z->writeString("foobar\n");
}
+ {
+ IO<Input> i(new Input("tests/out.z"));
+ IO<ZStream> z(new ZStream(i));
+ IO<BStream> s(new BStream(z));
+ z->detach();
+ s->detach();
+ String f = s->readString();
+ TAssert(f == "foobar");
+ }
+
+ {
+ IO<Input> i(new Input("tests/out.gz"));
+ IO<ZStream> z(new ZStream(i, Z_BEST_COMPRESSION, ZStream::GZIP));
+ IO<BStream> s(new BStream(z));
+ z->detach();
+ s->detach();
+ String f = s->readString();
+ TAssert(f == "foobar");
+ }
+
+ {
+ IO<Input> i(new Input("tests/out.raw"));
+ IO<ZStream> z(new ZStream(i, Z_BEST_COMPRESSION, ZStream::RAW));
+ IO<BStream> s(new BStream(z));
+ z->detach();
+ s->detach();
+ String f = s->readString();
+ TAssert(f == "foobar");
+ }
+
Printer::log(M_STATUS, "Test::Handles passed.");
}