summaryrefslogtreecommitdiff
path: root/test/BtRegistryTest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/BtRegistryTest.cc')
-rw-r--r--test/BtRegistryTest.cc42
1 files changed, 32 insertions, 10 deletions
diff --git a/test/BtRegistryTest.cc b/test/BtRegistryTest.cc
index cbb19f68..79912913 100644
--- a/test/BtRegistryTest.cc
+++ b/test/BtRegistryTest.cc
@@ -10,6 +10,7 @@
#include "MockBtProgressInfoFile.h"
#include "BtRuntime.h"
#include "FileEntry.h"
+#include "bittorrent_helper.h"
namespace aria2 {
@@ -17,6 +18,7 @@ class BtRegistryTest:public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(BtRegistryTest);
CPPUNIT_TEST(testGetDownloadContext);
+ CPPUNIT_TEST(testGetDownloadContext_infoHash);
CPPUNIT_TEST(testGetAllDownloadContext);
CPPUNIT_TEST(testRemove);
CPPUNIT_TEST(testRemoveAll);
@@ -25,6 +27,7 @@ private:
public:
void testGetDownloadContext();
+ void testGetDownloadContext_infoHash();
void testGetAllDownloadContext();
void testRemove();
void testRemoveAll();
@@ -36,12 +39,12 @@ CPPUNIT_TEST_SUITE_REGISTRATION( BtRegistryTest );
void BtRegistryTest::testGetDownloadContext()
{
BtRegistry btRegistry;
- CPPUNIT_ASSERT(btRegistry.getDownloadContext("test").isNull());
+ CPPUNIT_ASSERT(btRegistry.getDownloadContext(1).isNull());
SharedHandle<DownloadContext> dctx(new DownloadContext());
BtObject btObject;
btObject._downloadContext = dctx;
- btRegistry.put("test", btObject);
- CPPUNIT_ASSERT_EQUAL(dctx.get(), btRegistry.getDownloadContext("test").get());
+ btRegistry.put(1, btObject);
+ CPPUNIT_ASSERT_EQUAL(dctx.get(), btRegistry.getDownloadContext(1).get());
}
static void addTwoDownloadContext(BtRegistry& btRegistry)
@@ -52,8 +55,27 @@ static void addTwoDownloadContext(BtRegistry& btRegistry)
btObject1._downloadContext = dctx1;
BtObject btObject2;
btObject2._downloadContext = dctx2;
- btRegistry.put("ctx1", btObject1);
- btRegistry.put("ctx2", btObject2);
+ btRegistry.put(1, btObject1);
+ btRegistry.put(2, btObject2);
+}
+
+void BtRegistryTest::testGetDownloadContext_infoHash()
+{
+ BtRegistry btRegistry;
+ addTwoDownloadContext(btRegistry);
+ BDE attrs1 = BDE::dict();
+ attrs1[bittorrent::INFO_HASH] = std::string("hash1");
+ BDE attrs2 = BDE::dict();
+ attrs2[bittorrent::INFO_HASH] = std::string("hash2");
+ btRegistry.getDownloadContext(1)->setAttribute
+ (bittorrent::BITTORRENT, attrs1);
+ btRegistry.getDownloadContext(2)->setAttribute
+ (bittorrent::BITTORRENT, attrs2);
+
+ CPPUNIT_ASSERT(!btRegistry.getDownloadContext("hash1").isNull());
+ CPPUNIT_ASSERT(btRegistry.getDownloadContext("hash1").get() ==
+ btRegistry.getDownloadContext(1).get());
+ CPPUNIT_ASSERT(btRegistry.getDownloadContext("not exists").isNull());
}
void BtRegistryTest::testGetAllDownloadContext()
@@ -70,9 +92,9 @@ void BtRegistryTest::testRemove()
{
BtRegistry btRegistry;
addTwoDownloadContext(btRegistry);
- CPPUNIT_ASSERT(btRegistry.remove("ctx1"));
- CPPUNIT_ASSERT(btRegistry.get("ctx1").isNull());
- CPPUNIT_ASSERT(!btRegistry.get("ctx2").isNull());
+ CPPUNIT_ASSERT(btRegistry.remove(1));
+ CPPUNIT_ASSERT(btRegistry.get(1).isNull());
+ CPPUNIT_ASSERT(!btRegistry.get(2).isNull());
}
void BtRegistryTest::testRemoveAll()
@@ -80,8 +102,8 @@ void BtRegistryTest::testRemoveAll()
BtRegistry btRegistry;
addTwoDownloadContext(btRegistry);
btRegistry.removeAll();
- CPPUNIT_ASSERT(btRegistry.get("ctx1").isNull());
- CPPUNIT_ASSERT(btRegistry.get("ctx2").isNull());
+ CPPUNIT_ASSERT(btRegistry.get(1).isNull());
+ CPPUNIT_ASSERT(btRegistry.get(2).isNull());
}
} // namespace aria2