summaryrefslogtreecommitdiff
path: root/test/MessageDigestTest.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2014-09-12 00:49:55 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2014-09-13 00:08:07 +0900
commite18e8aeeaa2c24591b0ebb89984cbdc30a0f25a8 (patch)
tree5c1f5ab7b164f8f1b0b4cbf18822af4490487bf7 /test/MessageDigestTest.cc
parentd91f7dc721dbbbffd1b0ab3b3cd889fdaa67cf86 (diff)
Support Adler32 checksum
Adler32 checksum is available for --checksum option and hash element in Metalink files. Currently, we use Adler32 implementation in Zlib.
Diffstat (limited to 'test/MessageDigestTest.cc')
-rw-r--r--test/MessageDigestTest.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/MessageDigestTest.cc b/test/MessageDigestTest.cc
index 4608ca53..513ec3c9 100644
--- a/test/MessageDigestTest.cc
+++ b/test/MessageDigestTest.cc
@@ -19,11 +19,15 @@ class MessageDigestTest:public CppUnit::TestFixture {
std::unique_ptr<MessageDigest> sha1_;
std::unique_ptr<MessageDigest> md5_;
+ std::unique_ptr<MessageDigest> adler32_;
public:
void setUp()
{
md5_ = MessageDigest::create("md5");
sha1_ = MessageDigest::sha1();
+#ifdef HAVE_ZLIB
+ adler32_ = MessageDigest::create("adler32");
+#endif // HAVE_ZLIB
}
void testDigest();
@@ -54,6 +58,18 @@ void MessageDigestTest::testDigest()
sha1_->update("abc", 3);
CPPUNIT_ASSERT_EQUAL(std::string("a9993e364706816aba3e25717850c26c9cd0d89d"),
util::toHex(sha1_->digest()));
+
+#ifdef HAVE_ZLIB
+ adler32_->reset();
+ adler32_->update("aria2", 5);
+ CPPUNIT_ASSERT_EQUAL(std::string("05e101d0"),
+ util::toHex(adler32_->digest()));
+
+ adler32_->reset();
+ adler32_->update("abc", 3);
+ CPPUNIT_ASSERT_EQUAL(std::string("024d0127"),
+ util::toHex(adler32_->digest()));
+#endif // HAVE_ZLIB
}
void MessageDigestTest::testSupports()