From 172fca2ce19cfc52203bc0fffde8a603b464455a Mon Sep 17 00:00:00 2001 From: cxl Date: Wed, 15 Oct 2014 21:44:54 +0000 Subject: [PATCH] .autotest git-svn-id: svn://ultimatepp.org/upp/trunk@7785 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- autotest/FilterStream/FilterStream.cpp | 35 ++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/autotest/FilterStream/FilterStream.cpp b/autotest/FilterStream/FilterStream.cpp index da98edaa4..c2b640f78 100644 --- a/autotest/FilterStream/FilterStream.cpp +++ b/autotest/FilterStream/FilterStream.cpp @@ -57,6 +57,41 @@ CONSOLE_APP_MAIN ASSERT(in.Get() < 0); ASSERT(in.IsEof()); } + + { + String data; + for(int i = 0; i < 100000; i++) + data << AsString(i) << ": " << AsString(Uuid::Create()) << '\n'; + + String path = GetHomeDirFile("test.z"); + { + FileOut fout(path); + Zlib zlib; + OutFilterStream out(fout, zlib); + zlib.Compress(); + for(int i = 0; i < data.GetCount(); i++) { + ASSERT(i == out.GetPos()); + out.Put(data[i]); + } + out.Close(); + } + + String data2; + { + FileIn fin(path); + Zlib zlib; + InFilterStream in(fin, zlib); + zlib.Decompress(); + int i = 0; + while(!in.IsEof()) { + ASSERT(i == in.GetPos()); + data2.Cat(in.Get()); + i++; + } + } + + ASSERT(data == data2); + } LOG("=========== OK"); }