| 61 | CPPUNIT_TEST_SUITE_REGISTRATION(GZipDecodingStreamFilterTest); |
| 62 | |
| 63 | void GZipDecodingStreamFilterTest::testTransform() |
| 64 | { |
| 65 | unsigned char buf[4_k]; |
| 66 | std::ifstream in(A2_TEST_DIR "/gzip_decode_test.gz", std::ios::binary); |
| 67 | while (in) { |
| 68 | in.read(reinterpret_cast<char*>(buf), sizeof(buf)); |
| 69 | filter_->transform(writer_, segment_, buf, in.gcount()); |
| 70 | } |
| 71 | CPPUNIT_ASSERT(filter_->finished()); |
| 72 | std::string data = writer_->getString(); |
| 73 | std::shared_ptr<MessageDigest> sha1(MessageDigest::sha1()); |
| 74 | sha1->update(data.data(), data.size()); |
| 75 | CPPUNIT_ASSERT_EQUAL(std::string("8b577b33c0411b2be9d4fa74c7402d54a8d21f96"), |
| 76 | util::toHex(sha1->digest())); |
| 77 | } |
| 78 | |
| 79 | } // namespace aria2 |