diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-11-05 18:05:23 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-11-05 18:05:23 +0900 |
| commit | 0c162dfbfb4a875fac9374c65cf93382ff9ce4ed (patch) | |
| tree | 6fbc9cc204305017438d9511db631b9b2e7fc538 /test | |
| parent | 6ea1b68db186036e9f05c06915f8c4bd757c3a25 (diff) | |
Made util::fromHex and base32::decode function template
Diffstat (limited to 'test')
| -rw-r--r-- | test/Base32Test.cc | 22 | ||||
| -rw-r--r-- | test/BittorrentHelperTest.cc | 12 | ||||
| -rw-r--r-- | test/DefaultBtAnnounceTest.cc | 5 | ||||
| -rw-r--r-- | test/IteratableChecksumValidatorTest.cc | 5 | ||||
| -rw-r--r-- | test/IteratableChunkChecksumValidatorTest.cc | 13 | ||||
| -rw-r--r-- | test/LpdMessageDispatcherTest.cc | 3 | ||||
| -rw-r--r-- | test/LpdMessageReceiverTest.cc | 5 | ||||
| -rw-r--r-- | test/TestUtil.cc | 5 | ||||
| -rw-r--r-- | test/TestUtil.h | 2 | ||||
| -rw-r--r-- | test/UTPexExtensionMessageTest.cc | 9 | ||||
| -rw-r--r-- | test/UtilTest.cc | 44 |
11 files changed, 73 insertions, 52 deletions
diff --git a/test/Base32Test.cc b/test/Base32Test.cc index 8b86c4d2..03d52e8d 100644 --- a/test/Base32Test.cc +++ b/test/Base32Test.cc @@ -28,18 +28,26 @@ void Base32Test::testEncode() CPPUNIT_ASSERT_EQUAL(std::string("GEZDG==="), base32::encode("123")); CPPUNIT_ASSERT_EQUAL(std::string("GEZDGNA="), base32::encode("1234")); CPPUNIT_ASSERT_EQUAL(std::string("GEZDGNBV"), base32::encode("12345")); + std::string s = "248d0a1cd08284"; CPPUNIT_ASSERT_EQUAL(std::string("ESGQUHGQQKCA===="), - base32::encode(util::fromHex("248d0a1cd08284"))); + base32::encode(util::fromHex(s.begin(), s.end()))); } void Base32Test::testDecode() { - CPPUNIT_ASSERT_EQUAL(std::string(), base32::decode("")); - CPPUNIT_ASSERT_EQUAL(std::string("1"), base32::decode("GE======")); - CPPUNIT_ASSERT_EQUAL(std::string("12"), base32::decode("GEZA====")); - CPPUNIT_ASSERT_EQUAL(std::string("123"), base32::decode("GEZDG===")); - CPPUNIT_ASSERT_EQUAL(std::string("1234"), base32::decode("GEZDGNA=")); - CPPUNIT_ASSERT_EQUAL(std::string("12345"), base32::decode("GEZDGNBV")); + std::string s = ""; + CPPUNIT_ASSERT_EQUAL(std::string(), base32::decode(s.begin(), s.end())); + s = "GE======"; + CPPUNIT_ASSERT_EQUAL(std::string("1"), base32::decode(s.begin(), s.end())); + s = "GEZA===="; + CPPUNIT_ASSERT_EQUAL(std::string("12"), base32::decode(s.begin(), s.end())); + s = "GEZDG==="; + CPPUNIT_ASSERT_EQUAL(std::string("123"), base32::decode(s.begin(), s.end())); + s = "GEZDGNA="; + CPPUNIT_ASSERT_EQUAL(std::string("1234"), base32::decode(s.begin(), s.end())); + s = "GEZDGNBV"; + CPPUNIT_ASSERT_EQUAL(std::string("12345"), + base32::decode(s.begin(), s.end())); } } // namespace aria2 diff --git a/test/BittorrentHelperTest.cc b/test/BittorrentHelperTest.cc index 0e4c941d..64428600 100644 --- a/test/BittorrentHelperTest.cc +++ b/test/BittorrentHelperTest.cc @@ -417,7 +417,7 @@ void BittorrentHelperTest::testLoadFromMemory_multiFileNonUtf8Path() { SharedHandle<List> path = List::g(); path->append("path"); - path->append(util::fromHex("90a28a")+"E"); + path->append(fromHex("90a28a")+"E"); SharedHandle<Dict> file = Dict::g(); file->put("length", Integer::g(1024)); file->put("path", path); @@ -427,7 +427,7 @@ void BittorrentHelperTest::testLoadFromMemory_multiFileNonUtf8Path() info->put("files", files); info->put("piece length", Integer::g(1024)); info->put("pieces", "01234567890123456789"); - info->put("name", util::fromHex("1b")+"$B%O%m!<"+util::fromHex("1b")+"(B"); + info->put("name", fromHex("1b")+"$B%O%m!<"+fromHex("1b")+"(B"); Dict dict; dict.put("info", info); SharedHandle<DownloadContext> dctx(new DownloadContext()); @@ -446,7 +446,7 @@ void BittorrentHelperTest::testLoadFromMemory_singleFileNonUtf8Path() SharedHandle<Dict> info = Dict::g(); info->put("piece length", Integer::g(1024)); info->put("pieces", "01234567890123456789"); - info->put("name", util::fromHex("90a28a")+"E"); + info->put("name", fromHex("90a28a")+"E"); info->put("length", Integer::g(1024)); Dict dict; dict.put("info", info); @@ -787,7 +787,7 @@ void BittorrentHelperTest::testParseMagnet() void BittorrentHelperTest::testParseMagnet_base32() { std::string infoHash = "248d0a1cd08284299de78d5c1ed359bb46717d8c"; - std::string base32InfoHash = base32::encode(util::fromHex(infoHash)); + std::string base32InfoHash = base32::encode(fromHex(infoHash)); std::string magnet = "magnet:?xt=urn:btih:"+base32InfoHash+"&dn=aria2"; SharedHandle<TorrentAttribute> attrs = bittorrent::parseMagnet(magnet); CPPUNIT_ASSERT_EQUAL @@ -830,7 +830,7 @@ void BittorrentHelperTest::testExtractPeerFromString() { std::string hextext = "100210354527354678541237324732171ae1"; hextext += "20010db8bd0501d2288a1fc0000110ee1ae2"; - std::string peersstr = "36:"+util::fromHex(hextext); + std::string peersstr = "36:"+fromHex(hextext); SharedHandle<ValueBase> str = bencode2::decode(peersstr.begin(), peersstr.end()); std::deque<SharedHandle<Peer> > peers; @@ -845,7 +845,7 @@ void BittorrentHelperTest::testExtractPeerFromString() hextext = "c0a800011ae1"; hextext += "c0a800021ae2"; - peersstr = "12:"+util::fromHex(hextext); + peersstr = "12:"+fromHex(hextext); str = bencode2::decode(peersstr.begin(), peersstr.end()); peers.clear(); extractPeer(str, AF_INET, std::back_inserter(peers)); diff --git a/test/DefaultBtAnnounceTest.cc b/test/DefaultBtAnnounceTest.cc index 2ab3c586..c628837a 100644 --- a/test/DefaultBtAnnounceTest.cc +++ b/test/DefaultBtAnnounceTest.cc @@ -4,6 +4,7 @@ #include <cppunit/extensions/HelperMacros.h> +#include "TestUtil.h" #include "Option.h" #include "util.h" #include "Exception.h" @@ -391,9 +392,9 @@ void DefaultBtAnnounceTest::testProcessAnnounceResponse() "8:completei100e" "10:incompletei200e"; res += "5:peers6:"; - res += util::fromHex("c0a800011ae1"); + res += fromHex("c0a800011ae1"); res += "6:peers618:"; - res += util::fromHex("100210354527354678541237324732171ae1"); + res += fromHex("100210354527354678541237324732171ae1"); res += "e"; DefaultBtAnnounce an(dctx_, option_); diff --git a/test/IteratableChecksumValidatorTest.cc b/test/IteratableChecksumValidatorTest.cc index 8bc7f1e1..9e224045 100644 --- a/test/IteratableChecksumValidatorTest.cc +++ b/test/IteratableChecksumValidatorTest.cc @@ -2,6 +2,7 @@ #include <cppunit/extensions/HelperMacros.h> +#include "TestUtil.h" #include "DownloadContext.h" #include "DefaultPieceStorage.h" #include "Option.h" @@ -35,7 +36,7 @@ void IteratableChecksumValidatorTest::testValidate() { SharedHandle<DownloadContext> dctx (new DownloadContext(100, 250, A2_TEST_DIR"/chunkChecksumTestFile250.txt")); dctx->setDigest("sha-1", - util::fromHex("898a81b8e0181280ae2ee1b81e269196d91e869a")); + fromHex("898a81b8e0181280ae2ee1b81e269196d91e869a")); SharedHandle<DefaultPieceStorage> ps(new DefaultPieceStorage(dctx, &option)); ps->initStorage(); ps->getDiskAdaptor()->enableReadOnly(); @@ -55,7 +56,7 @@ void IteratableChecksumValidatorTest::testValidate_fail() { SharedHandle<DownloadContext> dctx (new DownloadContext(100, 250, A2_TEST_DIR"/chunkChecksumTestFile250.txt")); dctx->setDigest("sha-1", - util::fromHex(std::string(40, '0'))); // set wrong checksum + fromHex(std::string(40, '0'))); // set wrong checksum SharedHandle<DefaultPieceStorage> ps(new DefaultPieceStorage(dctx, &option)); ps->initStorage(); ps->getDiskAdaptor()->enableReadOnly(); diff --git a/test/IteratableChunkChecksumValidatorTest.cc b/test/IteratableChunkChecksumValidatorTest.cc index 921e9338..3e1cac84 100644 --- a/test/IteratableChunkChecksumValidatorTest.cc +++ b/test/IteratableChunkChecksumValidatorTest.cc @@ -2,6 +2,7 @@ #include <cppunit/extensions/HelperMacros.h> +#include "TestUtil.h" #include "DownloadContext.h" #include "DefaultPieceStorage.h" #include "Option.h" @@ -32,9 +33,9 @@ public: CPPUNIT_TEST_SUITE_REGISTRATION( IteratableChunkChecksumValidatorTest ); const std::string IteratableChunkChecksumValidatorTest::csArray[] = - { util::fromHex("29b0e7878271645fffb7eec7db4a7473a1c00bc1"), - util::fromHex("4df75a661cb7eb2733d9cdaa7f772eae3a4e2976"), - util::fromHex("0a4ea2f7dd7c52ddf2099a444ab2184b4d341bdb") }; + { fromHex("29b0e7878271645fffb7eec7db4a7473a1c00bc1"), + fromHex("4df75a661cb7eb2733d9cdaa7f772eae3a4e2976"), + fromHex("0a4ea2f7dd7c52ddf2099a444ab2184b4d341bdb") }; void IteratableChunkChecksumValidatorTest::testValidate() { Option option; @@ -60,7 +61,7 @@ void IteratableChunkChecksumValidatorTest::testValidate() { // make the test fail std::deque<std::string> badHashes(&csArray[0], &csArray[3]); - badHashes[1] = util::fromHex("ffffffffffffffffffffffffffffffffffffffff"); + badHashes[1] = fromHex("ffffffffffffffffffffffffffffffffffffffff"); dctx->setPieceHashes("sha-1", badHashes.begin(), badHashes.end()); validator.init(); @@ -78,8 +79,8 @@ void IteratableChunkChecksumValidatorTest::testValidate_readError() { SharedHandle<DownloadContext> dctx (new DownloadContext(100, 500, A2_TEST_DIR"/chunkChecksumTestFile250.txt")); std::deque<std::string> hashes(&csArray[0], &csArray[3]); - hashes.push_back(util::fromHex("ffffffffffffffffffffffffffffffffffffffff")); - hashes.push_back(util::fromHex("ffffffffffffffffffffffffffffffffffffffff")); + hashes.push_back(fromHex("ffffffffffffffffffffffffffffffffffffffff")); + hashes.push_back(fromHex("ffffffffffffffffffffffffffffffffffffffff")); dctx->setPieceHashes("sha-1", hashes.begin(), hashes.end()); SharedHandle<DefaultPieceStorage> ps(new DefaultPieceStorage(dctx, &option)); ps->initStorage(); diff --git a/test/LpdMessageDispatcherTest.cc b/test/LpdMessageDispatcherTest.cc index 3324bf84..d328e16d 100644 --- a/test/LpdMessageDispatcherTest.cc +++ b/test/LpdMessageDispatcherTest.cc @@ -5,6 +5,7 @@ #include <cppunit/extensions/HelperMacros.h> +#include "TestUtil.h" #include "Exception.h" #include "util.h" #include "LpdMessageDispatcher.h" @@ -37,7 +38,7 @@ void LpdMessageDispatcherTest::testCreateLpdRequest() "Infohash: cd41c7fdddfd034a15a04d7ff881216e01c4ceaf\r\n" "\r\n\r\n"), bittorrent::createLpdRequest("239.192.152.143", 6771, - util::fromHex(infoHashString), 6000)); + fromHex(infoHashString), 6000)); } void LpdMessageDispatcherTest::testSendMessage() diff --git a/test/LpdMessageReceiverTest.cc b/test/LpdMessageReceiverTest.cc index 3d2aa0a0..ed42bfb2 100644 --- a/test/LpdMessageReceiverTest.cc +++ b/test/LpdMessageReceiverTest.cc @@ -4,6 +4,7 @@ #include <cppunit/extensions/HelperMacros.h> +#include "TestUtil.h" #include "Exception.h" #include "util.h" #include "LpdMessageReceiver.h" @@ -39,7 +40,7 @@ void LpdMessageReceiverTest::testReceiveMessage() sendsock->setMulticastTtl(0); std::string infoHashString = "cd41c7fdddfd034a15a04d7ff881216e01c4ceaf"; - std::string infoHash = util::fromHex(infoHashString); + std::string infoHash = fromHex(infoHashString); std::string request = bittorrent::createLpdRequest(LPD_MULTICAST_ADDR, LPD_MULTICAST_PORT, infoHash, @@ -59,7 +60,7 @@ void LpdMessageReceiverTest::testReceiveMessage() std::string badInfoHashString = "cd41c7fdddfd034a15a04d7ff881216e01c4ce"; request = bittorrent::createLpdRequest(LPD_MULTICAST_ADDR, LPD_MULTICAST_PORT, - util::fromHex(badInfoHashString), + fromHex(badInfoHashString), 6000); sendsock->writeData(request.c_str(), request.size(), LPD_MULTICAST_ADDR, LPD_MULTICAST_PORT); diff --git a/test/TestUtil.cc b/test/TestUtil.cc index fee39055..6dd5d811 100644 --- a/test/TestUtil.cc +++ b/test/TestUtil.cc @@ -76,6 +76,11 @@ Cookie createCookie (name, value, expiryTime, true, domain, hostOnly, path, secure, false, 0); } +std::string fromHex(const std::string& s) +{ + return util::fromHex(s.begin(), s.end()); +} + #ifdef ENABLE_MESSAGE_DIGEST std::string fileHexDigest (const SharedHandle<MessageDigest>& ctx, const std::string& filename) diff --git a/test/TestUtil.h b/test/TestUtil.h index 1dd010ee..9dc66b87 100644 --- a/test/TestUtil.h +++ b/test/TestUtil.h @@ -42,6 +42,8 @@ Cookie createCookie const std::string& path, bool secure); +std::string fromHex(const std::string& s); + #ifdef ENABLE_MESSAGE_DIGEST // Returns hex digest of contents of file denoted by filename. std::string fileHexDigest diff --git a/test/UTPexExtensionMessageTest.cc b/test/UTPexExtensionMessageTest.cc index eb0c3178..00913de8 100644 --- a/test/UTPexExtensionMessageTest.cc +++ b/test/UTPexExtensionMessageTest.cc @@ -4,6 +4,7 @@ #include <cppunit/extensions/HelperMacros.h> +#include "TestUtil.h" #include "Peer.h" #include "a2netcompat.h" #include "util.h" @@ -103,9 +104,9 @@ void UTPexExtensionMessageTest::testGetBencodedData() std::string expected = "d5:added12:"+ std::string(&c1[0], &c1[6])+std::string(&c2[0], &c2[6])+ - "7:added.f2:"+util::fromHex("0200")+ + "7:added.f2:"+fromHex("0200")+ "6:added618:"+std::string(&c5[0], &c5[COMPACT_LEN_IPV6])+ - "8:added6.f1:"+util::fromHex("00")+ + "8:added6.f1:"+fromHex("00")+ "7:dropped12:"+std::string(&c3[0], &c3[6])+std::string(&c4[0], &c4[6])+ "8:dropped618:"+std::string(&c6[0], &c6[COMPACT_LEN_IPV6])+ "e"; @@ -194,9 +195,9 @@ void UTPexExtensionMessageTest::testCreate() std::string data = std::string(&id[0], &id[1])+"d5:added12:"+ std::string(&c1[0], &c1[6])+std::string(&c2[0], &c2[6])+ - "7:added.f2:"+util::fromHex("0200")+ + "7:added.f2:"+fromHex("0200")+ "6:added618:"+std::string(&c5[0], &c5[COMPACT_LEN_IPV6])+ - "8:added6.f1:"+util::fromHex("00")+ + "8:added6.f1:"+fromHex("00")+ "7:dropped12:"+std::string(&c3[0], &c3[6])+std::string(&c4[0], &c4[6])+ "8:dropped618:"+std::string(&c6[0], &c6[COMPACT_LEN_IPV6])+ "e"; diff --git a/test/UtilTest.cc b/test/UtilTest.cc index e6e330c8..ae50c489 100644 --- a/test/UtilTest.cc +++ b/test/UtilTest.cc @@ -1553,17 +1553,17 @@ void UtilTest::testFromHex() std::string dest; src = "0011fF"; - dest = util::fromHex(src); + dest = util::fromHex(src.begin(), src.end()); CPPUNIT_ASSERT_EQUAL((size_t)3, dest.size()); CPPUNIT_ASSERT_EQUAL((char)0x00, dest[0]); CPPUNIT_ASSERT_EQUAL((char)0x11, dest[1]); CPPUNIT_ASSERT_EQUAL((char)0xff, dest[2]); src = "0011f"; - CPPUNIT_ASSERT(util::fromHex(src).empty()); + CPPUNIT_ASSERT(util::fromHex(src.begin(), src.end()).empty()); src = "001g"; - CPPUNIT_ASSERT(util::fromHex(src).empty()); + CPPUNIT_ASSERT(util::fromHex(src.begin(), src.end()).empty()); } void UtilTest::testParsePrioritizePieceRange() @@ -1720,31 +1720,31 @@ void UtilTest::testIsUtf8String() CPPUNIT_ASSERT(util::isUtf8("ascii")); // "Hello World" in Japanese UTF-8 CPPUNIT_ASSERT(util::isUtf8 - (util::fromHex("e38193e38293e381abe381a1e381afe4b896e7958c"))); + (fromHex("e38193e38293e381abe381a1e381afe4b896e7958c"))); // "World" in Shift_JIS - CPPUNIT_ASSERT(!util::isUtf8(util::fromHex("90a28a")+"E")); + CPPUNIT_ASSERT(!util::isUtf8(fromHex("90a28a")+"E")); // UTF8-2 - CPPUNIT_ASSERT(util::isUtf8(util::fromHex("c280"))); - CPPUNIT_ASSERT(util::isUtf8(util::fromHex("dfbf"))); + CPPUNIT_ASSERT(util::isUtf8(fromHex("c280"))); + CPPUNIT_ASSERT(util::isUtf8(fromHex("dfbf"))); // UTF8-3 - CPPUNIT_ASSERT(util::isUtf8(util::fromHex("e0a080"))); - CPPUNIT_ASSERT(util::isUtf8(util::fromHex("e0bf80"))); - CPPUNIT_ASSERT(util::isUtf8(util::fromHex("e18080"))); - CPPUNIT_ASSERT(util::isUtf8(util::fromHex("ec8080"))); - CPPUNIT_ASSERT(util::isUtf8(util::fromHex("ed8080"))); - CPPUNIT_ASSERT(util::isUtf8(util::fromHex("ed9f80"))); - CPPUNIT_ASSERT(util::isUtf8(util::fromHex("ee8080"))); - CPPUNIT_ASSERT(util::isUtf8(util::fromHex("ef8080"))); + CPPUNIT_ASSERT(util::isUtf8(fromHex("e0a080"))); + CPPUNIT_ASSERT(util::isUtf8(fromHex("e0bf80"))); + CPPUNIT_ASSERT(util::isUtf8(fromHex("e18080"))); + CPPUNIT_ASSERT(util::isUtf8(fromHex("ec8080"))); + CPPUNIT_ASSERT(util::isUtf8(fromHex("ed8080"))); + CPPUNIT_ASSERT(util::isUtf8(fromHex("ed9f80"))); + CPPUNIT_ASSERT(util::isUtf8(fromHex("ee8080"))); + CPPUNIT_ASSERT(util::isUtf8(fromHex("ef8080"))); // UTF8-4 - CPPUNIT_ASSERT(util::isUtf8(util::fromHex("f0908080"))); - CPPUNIT_ASSERT(util::isUtf8(util::fromHex("f0bf8080"))); - CPPUNIT_ASSERT(util::isUtf8(util::fromHex("f1808080"))); - CPPUNIT_ASSERT(util::isUtf8(util::fromHex("f3808080"))); - CPPUNIT_ASSERT(util::isUtf8(util::fromHex("f4808080"))); - CPPUNIT_ASSERT(util::isUtf8(util::fromHex("f48f8080"))); + CPPUNIT_ASSERT(util::isUtf8(fromHex("f0908080"))); + CPPUNIT_ASSERT(util::isUtf8(fromHex("f0bf8080"))); + CPPUNIT_ASSERT(util::isUtf8(fromHex("f1808080"))); + CPPUNIT_ASSERT(util::isUtf8(fromHex("f3808080"))); + CPPUNIT_ASSERT(util::isUtf8(fromHex("f4808080"))); + CPPUNIT_ASSERT(util::isUtf8(fromHex("f48f8080"))); CPPUNIT_ASSERT(util::isUtf8("")); - CPPUNIT_ASSERT(!util::isUtf8(util::fromHex("00"))); + CPPUNIT_ASSERT(!util::isUtf8(fromHex("00"))); } void UtilTest::testNextParam() |
