From 841fdbb965d0d2db7bd60cda08d138364a5e7366 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sun, 3 Mar 2013 14:16:32 +0900 Subject: [PATCH] Add GZipFileTest For now, it is a copy of BufferedFileTest.cc --- test/GZipFileTest.cc | 58 ++++++++++++++++++++++++++++++++++++++++++++ test/Makefile.am | 3 ++- 2 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 test/GZipFileTest.cc diff --git a/test/GZipFileTest.cc b/test/GZipFileTest.cc new file mode 100644 index 00000000..9f070a80 --- /dev/null +++ b/test/GZipFileTest.cc @@ -0,0 +1,58 @@ +#include "GZipFile.h" + +#include + +#include + +#include "File.h" + +namespace aria2 { + +class GZipFileTest:public CppUnit::TestFixture { + + CPPUNIT_TEST_SUITE(GZipFileTest); + CPPUNIT_TEST(testOpen); + CPPUNIT_TEST_SUITE_END(); +public: + void testOpen(); +}; + + +CPPUNIT_TEST_SUITE_REGISTRATION(GZipFileTest); + +void GZipFileTest::testOpen() +{ + File f(A2_TEST_OUT_DIR"/aria2_GZipFileTest_testOpen"); + f.remove(); + GZipFile fail(f.getPath().c_str(), GZipFile::READ); + CPPUNIT_ASSERT(!fail); + + GZipFile wr(f.getPath().c_str(), GZipFile::WRITE); + CPPUNIT_ASSERT(wr); + std::string msg = "aria2 rules\nalpha\nbravo\ncharlie"; + wr.write(msg.data(), msg.size()); + wr.close(); + + GZipFile rd(f.getPath().c_str(), GZipFile::READ); + char buf[256]; + size_t len = rd.read(buf, 11); + CPPUNIT_ASSERT_EQUAL((size_t)11, len); + buf[len] = '\0'; + CPPUNIT_ASSERT_EQUAL(std::string("aria2 rules"), std::string(buf)); + + CPPUNIT_ASSERT(rd.gets(buf, sizeof(buf))); + CPPUNIT_ASSERT_EQUAL(std::string("\n"), std::string(buf)); + + CPPUNIT_ASSERT(rd.gets(buf, sizeof(buf))); + CPPUNIT_ASSERT_EQUAL(std::string("alpha\n"), std::string(buf)); + + CPPUNIT_ASSERT(rd.getsn(buf, sizeof(buf))); + CPPUNIT_ASSERT_EQUAL(std::string("bravo"), std::string(buf)); + + CPPUNIT_ASSERT(rd.getsn(buf, sizeof(buf))); + CPPUNIT_ASSERT_EQUAL(std::string("charlie"), std::string(buf)); + + CPPUNIT_ASSERT(rd.eof()); +} + +} // namespace aria2 diff --git a/test/Makefile.am b/test/Makefile.am index 2231fe45..f91cde44 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -102,7 +102,8 @@ if HAVE_ZLIB aria2c_SOURCES += \ GZipDecoder.cc GZipDecoder.h\ GZipDecoderTest.cc GZipEncoderTest.cc\ - GZipDecodingStreamFilterTest.cc + GZipDecodingStreamFilterTest.cc\ + GZipFileTest.cc endif # HAVE_ZLIB if HAVE_SQLITE3