diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-07-04 13:36:56 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-07-04 13:36:56 +0000 |
| commit | a7c222b8ab5a072d5bf47a8de5eda82867ed6a38 (patch) | |
| tree | b92b4f0b57a59f6d7137e57cce348302cea607f0 /test/FileEntryTest.cc | |
| parent | 3a655a5d1a968373cd0f58604962d930d7912737 (diff) | |
2009-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made URI reusing function work.
* src/CreateRequestCommand.cc
* src/FileEntry.cc
* src/FileEntry.h
* test/FileEntryTest.cc
Diffstat (limited to 'test/FileEntryTest.cc')
| -rw-r--r-- | test/FileEntryTest.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/FileEntryTest.cc b/test/FileEntryTest.cc index f60ae625..3963e44e 100644 --- a/test/FileEntryTest.cc +++ b/test/FileEntryTest.cc @@ -14,6 +14,7 @@ class FileEntryTest : public CppUnit::TestFixture { CPPUNIT_TEST(testExtractURIResult); CPPUNIT_TEST(testGetRequest); CPPUNIT_TEST(testGetRequest_disableSingleHostMultiConnection); + CPPUNIT_TEST(testReuseUri); CPPUNIT_TEST_SUITE_END(); public: void setUp() {} @@ -23,6 +24,7 @@ public: void testExtractURIResult(); void testGetRequest(); void testGetRequest_disableSingleHostMultiConnection(); + void testReuseUri(); }; @@ -128,4 +130,23 @@ void FileEntryTest::testGetRequest_disableSingleHostMultiConnection() CPPUNIT_ASSERT(req3rd.isNull()); } +void FileEntryTest::testReuseUri() +{ + SharedHandle<InOrderURISelector> selector(new InOrderURISelector()); + SharedHandle<FileEntry> fileEntry = createFileEntry(); + size_t numUris = fileEntry->getRemainingUris().size(); + for(size_t i = 0; i < numUris; ++i) { + fileEntry->getRequest(selector); + } + CPPUNIT_ASSERT_EQUAL((size_t)0, fileEntry->getRemainingUris().size()); + fileEntry->addURIResult("http://localhost/aria2.zip", + downloadresultcode::UNKNOWN_ERROR); + fileEntry->reuseUri(3); + CPPUNIT_ASSERT_EQUAL((size_t)3, fileEntry->getRemainingUris().size()); + const std::deque<std::string>& uris = fileEntry->getRemainingUris(); + CPPUNIT_ASSERT_EQUAL(std::string("ftp://localhost/aria2.zip"), uris[0]); + CPPUNIT_ASSERT_EQUAL(std::string("http://mirror/aria2.zip"), uris[1]); + CPPUNIT_ASSERT_EQUAL(std::string("ftp://localhost/aria2.zip"), uris[2]); +} + } // namespace aria2 |
