summaryrefslogtreecommitdiff
path: root/test/MetalinkParserControllerTest.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-07-12 22:59:49 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-07-12 23:09:23 +0900
commit41121e09f7cf6ed4a95797a80da63bca1d4884cd (patch)
treeb48e6a1c9603d92728652e7a4238f0d894a9aab0 /test/MetalinkParserControllerTest.cc
parent59e63d956ee63d99202b67a32e8a277f3b04650d (diff)
Use std::unique_ptr for Metalink objects
Diffstat (limited to 'test/MetalinkParserControllerTest.cc')
-rw-r--r--test/MetalinkParserControllerTest.cc168
1 files changed, 84 insertions, 84 deletions
diff --git a/test/MetalinkParserControllerTest.cc b/test/MetalinkParserControllerTest.cc
index 50829cb9..a6c921d0 100644
--- a/test/MetalinkParserControllerTest.cc
+++ b/test/MetalinkParserControllerTest.cc
@@ -63,10 +63,12 @@ void MetalinkParserControllerTest::testEntryTransaction()
ctrl.setLanguageOfEntry("ja_JP");
ctrl.setOSOfEntry("Linux");
ctrl.commitEntryTransaction();
+ ctrl.newEntryTransaction();
+ ctrl.cancelEntryTransaction();
{
- std::shared_ptr<Metalinker> m = ctrl.getResult();
+ auto m = ctrl.getResult();
CPPUNIT_ASSERT_EQUAL((size_t)1, m->getEntries().size());
- std::shared_ptr<MetalinkEntry> e = m->getEntries().front();
+ auto& e = m->getEntries()[0];
CPPUNIT_ASSERT_EQUAL(std::string("aria2.tar.bz2"), e->file->getPath());
CPPUNIT_ASSERT_EQUAL((int64_t)(1024*1024LL), e->file->getLength());
CPPUNIT_ASSERT_EQUAL((int64_t)0, e->file->getOffset());
@@ -74,9 +76,6 @@ void MetalinkParserControllerTest::testEntryTransaction()
CPPUNIT_ASSERT_EQUAL(std::string("ja_JP"), e->languages[0]);
CPPUNIT_ASSERT_EQUAL(std::string("Linux"), e->oses[0]);
}
- ctrl.newEntryTransaction();
- ctrl.cancelEntryTransaction();
- CPPUNIT_ASSERT_EQUAL((size_t)1, ctrl.getResult()->getEntries().size());
}
void MetalinkParserControllerTest::testResourceTransaction()
@@ -90,25 +89,22 @@ void MetalinkParserControllerTest::testResourceTransaction()
ctrl.setPriorityOfResource(100);
ctrl.setMaxConnectionsOfResource(1);
ctrl.commitEntryTransaction();
- {
- std::shared_ptr<Metalinker> m = ctrl.getResult();
- CPPUNIT_ASSERT_EQUAL((size_t)1, m->getEntries().front()->resources.size());
- std::shared_ptr<MetalinkResource> res = m->getEntries().front()->resources[0];
- CPPUNIT_ASSERT_EQUAL(std::string("http://mirror/aria2.tar.bz2"), res->url);
- CPPUNIT_ASSERT_EQUAL(MetalinkResource::TYPE_HTTP, res->type);
- CPPUNIT_ASSERT_EQUAL(std::string("US"), res->location);
- CPPUNIT_ASSERT_EQUAL(100, res->priority);
- CPPUNIT_ASSERT_EQUAL(1, res->maxConnections);
- }
ctrl.newEntryTransaction();
ctrl.newResourceTransaction();
ctrl.cancelResourceTransaction();
ctrl.commitEntryTransaction();
{
- std::shared_ptr<Metalinker> m = ctrl.getResult();
+ auto m = ctrl.getResult();
CPPUNIT_ASSERT_EQUAL((size_t)2, m->getEntries().size());
CPPUNIT_ASSERT_EQUAL((size_t)1, m->getEntries()[0]->resources.size());
CPPUNIT_ASSERT_EQUAL((size_t)0, m->getEntries()[1]->resources.size());
+
+ auto& res = m->getEntries()[0]->resources[0];
+ CPPUNIT_ASSERT_EQUAL(std::string("http://mirror/aria2.tar.bz2"), res->url);
+ CPPUNIT_ASSERT_EQUAL(MetalinkResource::TYPE_HTTP, res->type);
+ CPPUNIT_ASSERT_EQUAL(std::string("US"), res->location);
+ CPPUNIT_ASSERT_EQUAL(100, res->priority);
+ CPPUNIT_ASSERT_EQUAL(1, res->maxConnections);
}
}
@@ -132,22 +128,20 @@ void MetalinkParserControllerTest::testResourceTransaction_withBaseUri()
#endif // ENABLE_BITTORRENT
ctrl.commitEntryTransaction();
{
- std::shared_ptr<Metalinker> m = ctrl.getResult();
+ auto m = ctrl.getResult();
CPPUNIT_ASSERT_EQUAL((size_t)1, m->getEntries()[0]->resources.size());
- std::shared_ptr<MetalinkResource> res = m->getEntries()[0]->resources[0];
+ auto& res = m->getEntries()[0]->resources[0];
CPPUNIT_ASSERT_EQUAL(std::string("http://base/dir/aria2.tar.bz2"),
res->url);
CPPUNIT_ASSERT_EQUAL(MetalinkResource::TYPE_HTTP, res->type);
#ifdef ENABLE_BITTORRENT
CPPUNIT_ASSERT_EQUAL((size_t)2, m->getEntries()[0]->metaurls.size());
- std::shared_ptr<MetalinkMetaurl> metaurl = m->getEntries()[0]->metaurls[0];
CPPUNIT_ASSERT_EQUAL(std::string("http://base/meta/aria2.tar.bz2.torrent"),
- metaurl->url);
+ m->getEntries()[0]->metaurls[0]->url);
- metaurl = m->getEntries()[0]->metaurls[1];
CPPUNIT_ASSERT_EQUAL(std::string("magnet:?xt=urn:btih:248d0a1cd08284299de78d5c1ed359bb46717d8c"),
- metaurl->url);
+ m->getEntries()[0]->metaurls[1]->url);
#endif // ENABLE_BITTORRENT
}
}
@@ -163,30 +157,26 @@ void MetalinkParserControllerTest::testMetaurlTransaction()
ctrl.setNameOfMetaurl("mybirthdaycake");
ctrl.commitEntryTransaction();
#ifdef ENABLE_BITTORRENT
- {
- std::shared_ptr<Metalinker> m = ctrl.getResult();
- CPPUNIT_ASSERT_EQUAL((size_t)1, m->getEntries().size());
- CPPUNIT_ASSERT_EQUAL((size_t)1, m->getEntries()[0]->metaurls.size());
- std::shared_ptr<MetalinkMetaurl> metaurl = m->getEntries()[0]->metaurls[0];
- CPPUNIT_ASSERT_EQUAL(std::string("http://example.org/chocolate.torrent"),
- metaurl->url);
- CPPUNIT_ASSERT_EQUAL(std::string("torrent"), metaurl->mediatype);
- CPPUNIT_ASSERT_EQUAL(std::string("mybirthdaycake"), metaurl->name);
- CPPUNIT_ASSERT_EQUAL(999, metaurl->priority);
- }
ctrl.newEntryTransaction();
ctrl.newMetaurlTransaction();
ctrl.cancelMetaurlTransaction();
ctrl.commitEntryTransaction();
{
- std::shared_ptr<Metalinker> m = ctrl.getResult();
- CPPUNIT_ASSERT_EQUAL((size_t)2, ctrl.getResult()->getEntries().size());
+ auto m = ctrl.getResult();
+ CPPUNIT_ASSERT_EQUAL((size_t)2, m->getEntries().size());
CPPUNIT_ASSERT_EQUAL((size_t)1, m->getEntries()[0]->metaurls.size());
CPPUNIT_ASSERT_EQUAL((size_t)0, m->getEntries()[1]->metaurls.size());
+
+ auto& metaurl = m->getEntries()[0]->metaurls[0];
+ CPPUNIT_ASSERT_EQUAL(std::string("http://example.org/chocolate.torrent"),
+ metaurl->url);
+ CPPUNIT_ASSERT_EQUAL(std::string("torrent"), metaurl->mediatype);
+ CPPUNIT_ASSERT_EQUAL(std::string("mybirthdaycake"), metaurl->name);
+ CPPUNIT_ASSERT_EQUAL(999, metaurl->priority);
}
#else // !ENABLE_BITTORRENT
{
- std::shared_ptr<Metalinker> m = ctrl.getResult();
+ auto m = ctrl.getResult();
CPPUNIT_ASSERT_EQUAL((size_t)1, m->getEntries().size());
CPPUNIT_ASSERT_EQUAL((size_t)0, m->getEntries()[0]->metaurls.size());
}
@@ -202,25 +192,28 @@ void MetalinkParserControllerTest::testChecksumTransaction()
ctrl.setTypeOfChecksum("md5");
ctrl.setHashOfChecksum("acbd18db4cc2f85cedef654fccc4a4d8");
ctrl.commitEntryTransaction();
- {
- std::shared_ptr<Metalinker> m = ctrl.getResult();
- std::shared_ptr<Checksum> md = m->getEntries().front()->checksum;
- CPPUNIT_ASSERT_EQUAL(std::string("md5"), md->getHashType());
- CPPUNIT_ASSERT_EQUAL(std::string("acbd18db4cc2f85cedef654fccc4a4d8"),
- util::toHex(md->getDigest()));
- }
+
ctrl.newEntryTransaction();
ctrl.newChecksumTransaction();
ctrl.setTypeOfChecksum("md5");
ctrl.setHashOfChecksum("badhash");
ctrl.commitEntryTransaction();
- CPPUNIT_ASSERT(!ctrl.getResult()->getEntries()[1]->checksum);
ctrl.newEntryTransaction();
ctrl.newChecksumTransaction();
ctrl.cancelChecksumTransaction();
ctrl.commitEntryTransaction();
- CPPUNIT_ASSERT(!ctrl.getResult()->getEntries()[2]->checksum);
+ {
+ auto m = ctrl.getResult();
+ auto& md = m->getEntries()[0]->checksum;
+ CPPUNIT_ASSERT_EQUAL(std::string("md5"), md->getHashType());
+ CPPUNIT_ASSERT_EQUAL(std::string("acbd18db4cc2f85cedef654fccc4a4d8"),
+ util::toHex(md->getDigest()));
+
+ CPPUNIT_ASSERT(!m->getEntries()[1]->checksum);
+
+ CPPUNIT_ASSERT(!m->getEntries()[2]->checksum);
+ }
}
void MetalinkParserControllerTest::testChunkChecksumTransaction()
@@ -236,9 +229,21 @@ void MetalinkParserControllerTest::testChunkChecksumTransaction()
ctrl.addHashOfChunkChecksum(2, "2cbd18db4cc2f85cedef654fccc4a4d8");
ctrl.addHashOfChunkChecksum(5, "5cbd18db4cc2f85cedef654fccc4a4d8");
ctrl.commitEntryTransaction();
+
+ ctrl.newEntryTransaction();
+ ctrl.newChunkChecksumTransaction();
+ ctrl.setTypeOfChunkChecksum("md5");
+ ctrl.setLengthOfChunkChecksum(256*1024);
+ ctrl.addHashOfChunkChecksum(1, "badhash");
+ ctrl.commitEntryTransaction();
+
+ ctrl.newEntryTransaction();
+ ctrl.newChunkChecksumTransaction();
+ ctrl.cancelChunkChecksumTransaction();
+ ctrl.commitEntryTransaction();
{
- std::shared_ptr<Metalinker> m = ctrl.getResult();
- std::shared_ptr<ChunkChecksum> md = m->getEntries().front()->chunkChecksum;
+ auto m = ctrl.getResult();
+ auto& md = m->getEntries()[0]->chunkChecksum;
CPPUNIT_ASSERT_EQUAL(std::string("md5"), md->getHashType());
CPPUNIT_ASSERT_EQUAL(256*1024, md->getPieceLength());
CPPUNIT_ASSERT_EQUAL((size_t)5, md->countPieceHash());
@@ -252,20 +257,11 @@ void MetalinkParserControllerTest::testChunkChecksumTransaction()
md->getPieceHashes()[3]);
CPPUNIT_ASSERT_EQUAL(std::string("5cbd18db4cc2f85cedef654fccc4a4d8"),
md->getPieceHashes()[4]);
- }
- ctrl.newEntryTransaction();
- ctrl.newChunkChecksumTransaction();
- ctrl.setTypeOfChunkChecksum("md5");
- ctrl.setLengthOfChunkChecksum(256*1024);
- ctrl.addHashOfChunkChecksum(1, "badhash");
- ctrl.commitEntryTransaction();
- CPPUNIT_ASSERT(!ctrl.getResult()->getEntries()[1]->chunkChecksum);
- ctrl.newEntryTransaction();
- ctrl.newChunkChecksumTransaction();
- ctrl.cancelChunkChecksumTransaction();
- ctrl.commitEntryTransaction();
- CPPUNIT_ASSERT(!ctrl.getResult()->getEntries()[2]->chunkChecksum);
+ CPPUNIT_ASSERT(!m->getEntries()[1]->chunkChecksum);
+
+ CPPUNIT_ASSERT(!m->getEntries()[2]->chunkChecksum);
+ }
}
void MetalinkParserControllerTest::testChunkChecksumTransactionV4()
@@ -280,9 +276,22 @@ void MetalinkParserControllerTest::testChunkChecksumTransactionV4()
ctrl.addHashOfChunkChecksumV4("9413ee70957a09d55704123687478e07f18c7b29");
ctrl.addHashOfChunkChecksumV4("44213f9f4d59b557314fadcd233232eebcac8012");
ctrl.commitEntryTransaction();
+
+ ctrl.newEntryTransaction();
+ ctrl.newChunkChecksumTransactionV4();
+ ctrl.setTypeOfChunkChecksumV4("sha-1");
+ ctrl.setLengthOfChunkChecksumV4(256*1024);
+ ctrl.addHashOfChunkChecksumV4("5bd9f7248df0f3a6a86ab6c95f48787d546efa14");
+ ctrl.addHashOfChunkChecksumV4("badhash");
+ ctrl.commitEntryTransaction();
+
+ ctrl.newEntryTransaction();
+ ctrl.newChunkChecksumTransactionV4();
+ ctrl.cancelChunkChecksumTransactionV4();
+ ctrl.commitEntryTransaction();
{
- std::shared_ptr<Metalinker> m = ctrl.getResult();
- std::shared_ptr<ChunkChecksum> md = m->getEntries().front()->chunkChecksum;
+ auto m = ctrl.getResult();
+ auto& md = m->getEntries()[0]->chunkChecksum;
CPPUNIT_ASSERT_EQUAL(std::string("sha-1"), md->getHashType());
CPPUNIT_ASSERT_EQUAL(256*1024, md->getPieceLength());
CPPUNIT_ASSERT_EQUAL((size_t)3, md->countPieceHash());
@@ -295,21 +304,11 @@ void MetalinkParserControllerTest::testChunkChecksumTransactionV4()
CPPUNIT_ASSERT_EQUAL
(std::string("44213f9f4d59b557314fadcd233232eebcac8012"),
util::toHex(md->getPieceHashes()[2]));
- }
- ctrl.newEntryTransaction();
- ctrl.newChunkChecksumTransactionV4();
- ctrl.setTypeOfChunkChecksumV4("sha-1");
- ctrl.setLengthOfChunkChecksumV4(256*1024);
- ctrl.addHashOfChunkChecksumV4("5bd9f7248df0f3a6a86ab6c95f48787d546efa14");
- ctrl.addHashOfChunkChecksumV4("badhash");
- ctrl.commitEntryTransaction();
- CPPUNIT_ASSERT(!ctrl.getResult()->getEntries()[1]->chunkChecksum);
- ctrl.newEntryTransaction();
- ctrl.newChunkChecksumTransactionV4();
- ctrl.cancelChunkChecksumTransactionV4();
- ctrl.commitEntryTransaction();
- CPPUNIT_ASSERT(!ctrl.getResult()->getEntries()[2]->chunkChecksum);
+ CPPUNIT_ASSERT(!m->getEntries()[1]->chunkChecksum);
+
+ CPPUNIT_ASSERT(!m->getEntries()[2]->chunkChecksum);
+ }
}
#endif // ENABLE_MESSAGE_DIGEST
@@ -334,19 +333,20 @@ void MetalinkParserControllerTest::testSignatureTransaction()
// commitEntryTransaction also commits signature transaction.
ctrl.commitEntryTransaction();
- std::shared_ptr<Metalinker> m = ctrl.getResult();
- CPPUNIT_ASSERT_EQUAL((size_t)1, m->getEntries().size());
- std::shared_ptr<Signature> sig = m->getEntries().front()->getSignature();
- CPPUNIT_ASSERT_EQUAL(std::string("pgp"), sig->getType());
- CPPUNIT_ASSERT_EQUAL(std::string("aria2.sig"), sig->getFile());
- CPPUNIT_ASSERT_EQUAL(pgpSignature, sig->getBody());
-
// See when signature transaction is canceled:
ctrl.newEntryTransaction();
ctrl.newSignatureTransaction();
ctrl.cancelSignatureTransaction();
ctrl.commitEntryTransaction();
- CPPUNIT_ASSERT(!ctrl.getResult()->getEntries()[1]->getSignature());
+
+ auto m = ctrl.getResult();
+ CPPUNIT_ASSERT_EQUAL((size_t)2, m->getEntries().size());
+ auto& sig = m->getEntries()[0]->getSignature();
+ CPPUNIT_ASSERT_EQUAL(std::string("pgp"), sig->getType());
+ CPPUNIT_ASSERT_EQUAL(std::string("aria2.sig"), sig->getFile());
+ CPPUNIT_ASSERT_EQUAL(pgpSignature, sig->getBody());
+
+ CPPUNIT_ASSERT(!m->getEntries()[1]->getSignature());
}
} // namespace aria2