ultimatepp/autotest/Zlib/Zlib.cpp
cxl 482c8ae39c .autotest
git-svn-id: svn://ultimatepp.org/upp/trunk@8863 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2015-08-29 06:20:07 +00:00

45 lines
914 B
C++

#include <Core/Core.h>
using namespace Upp;
String RandomString(int len)
{
StringBuffer r;
for(int i = 0; i < len; i++)
if(Random(30) == 0)
r.Cat("\r\n");
else
r.Cat(Random(64) + 32);
return r;
}
void Check(const String& data)
{
ASSERT(ZDecompress(ZCompress(data)) == data);
ASSERT(GZDecompress(GZCompress(data)) == data);
String path = GetHomeDirFile("test.txt");
SaveFile(path, data);
GZCompressFile(path);
GZDecompressFile(path + ".2", path + ".gz");
ASSERT(LoadFile(path + ".2") == data);
}
CONSOLE_APP_MAIN
{
StdLogSetup(LOG_FILE|LOG_COUT);
Check(String());
for(int i = 1; i < 2000; i++)
Check(RandomString(i));
Check(RandomString(20000));
Check(RandomString(2000000));
String data = "Hello!";
StringStream in(data);
StringStream out;
ASSERT(ZCompress(out, in) == out.GetResult().GetCount());
LOG("============= OK");
}