diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-06-29 08:42:58 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-06-29 08:42:58 +0000 |
| commit | e82f870fdc3c1a7fc2c0b66a9f623a5386ece3d6 (patch) | |
| tree | 8b48808e3a23e9ac2fd69ada00990d9d190f110b /test/FileEntryTest.cc | |
| parent | 8122399ca746b9bc69dc17a08ea126c791189e4a (diff) | |
2009-06-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed _uris from RequestGroup. All functions that refer to _uris
were moved to FileEntry. Exit status code are now defined in
DownloadResultCode.h.
* src/AbstractCommand.cc
* src/AdaptiveURISelector.cc
* src/AdaptiveURISelector.h
* src/AutoSaveCommand.cc
* src/BtPostDownloadHandler.cc
* src/CheckIntegrityDispatcherCommand.cc
* src/CookieStorage.cc
* src/DHTAutoSaveCommand.cc
* src/DHTBucketRefreshCommand.cc
* src/DHTEntryPointNameResolveCommand.cc
* src/DHTInteractionCommand.cc
* src/DHTPeerAnnounceCommand.cc
* src/DHTTokenUpdateCommand.cc
* src/DlAbortEx.h
* src/DlRetryEx.h
* src/DownloadCommand.cc
* src/DownloadContext.h
* src/DownloadFailureException.h
* src/DownloadResult.h
* src/DownloadResultCode.h
* src/FeedbackURISelector.cc
* src/FeedbackURISelector.h
* src/FileEntry.cc
* src/FileEntry.h
* src/FtpNegotiationCommand.cc
* src/HttpListenCommand.cc
* src/HttpResponseCommand.cc
* src/HttpServerResponseCommand.cc
* src/HttpSkipResponseCommand.cc
* src/InOrderURISelector.cc
* src/InOrderURISelector.h
* src/Makefile.am
* src/Makefile.in
* src/Metalink2RequestGroup.cc
* src/MultiUrlRequestInfo.cc
* src/MultiUrlRequestInfo.h
* src/OptionHandlerFactory.cc
* src/PeerListenCommand.cc
* src/RecoverableException.h
* src/RequestGroup.cc
* src/RequestGroup.h
* src/RequestGroupMan.cc
* src/RequestGroupMan.h
* src/TimedHaltCommand.cc
* src/TrackerWatcherCommand.cc
* src/URIResult.cc
* src/URIResult.h
* src/URISelector.h
* src/XmlRpcMethodImpl.cc
* src/bittorrent_helper.cc
* src/bittorrent_helper.h
* src/download_helper.cc
* src/main.cc
* src/option_processing.cc
* test/BtDependencyTest.cc
* test/BtPostDownloadHandlerTest.cc
* test/CookieStorageTest.cc
* test/DefaultBtMessageDispatcherTest.cc
* test/DownloadHandlerFactoryTest.cc
* test/DownloadHelperTest.cc
* test/FeedbackURISelectorTest.cc
* test/FileEntryTest.cc
* test/InOrderURISelectorTest.cc
* test/Metalink2RequestGroupTest.cc
* test/MetalinkPostDownloadHandlerTest.cc
* test/RequestGroupManTest.cc
* test/RequestGroupTest.cc
* test/XmlRpcMethodTest.cc
Diffstat (limited to 'test/FileEntryTest.cc')
| -rw-r--r-- | test/FileEntryTest.cc | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/test/FileEntryTest.cc b/test/FileEntryTest.cc index 5c3f70f6..475680fd 100644 --- a/test/FileEntryTest.cc +++ b/test/FileEntryTest.cc @@ -7,11 +7,15 @@ class FileEntryTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(FileEntryTest); CPPUNIT_TEST(testSetupDir); + CPPUNIT_TEST(testRemoveURIWhoseHostnameIs); + CPPUNIT_TEST(testExtractURIResult); CPPUNIT_TEST_SUITE_END(); public: void setUp() {} void testSetupDir(); + void testRemoveURIWhoseHostnameIs(); + void testExtractURIResult(); }; @@ -34,4 +38,45 @@ void FileEntryTest::testSetupDir() CPPUNIT_ASSERT(!f.exists()); } +void FileEntryTest::testRemoveURIWhoseHostnameIs() +{ + const char* uris[] = { "http://localhost/aria2.zip", + "ftp://localhost/aria2.zip", + "http://mirror/aria2.zip" }; + FileEntry fileEntry; + fileEntry.setUris(std::deque<std::string>(&uris[0], &uris[3])); + fileEntry.removeURIWhoseHostnameIs("localhost"); + CPPUNIT_ASSERT_EQUAL((size_t)1, fileEntry.getRemainingUris().size()); + CPPUNIT_ASSERT_EQUAL(std::string("http://mirror/aria2.zip"), + fileEntry.getRemainingUris()[0]); +} + + +void FileEntryTest::testExtractURIResult() +{ + FileEntry fileEntry; + fileEntry.addURIResult("http://timeout/file", downloadresultcode::TIME_OUT); + fileEntry.addURIResult("http://finished/file", downloadresultcode::FINISHED); + fileEntry.addURIResult("http://timeout/file2", downloadresultcode::TIME_OUT); + fileEntry.addURIResult("http://unknownerror/file", downloadresultcode::UNKNOWN_ERROR); + + std::deque<URIResult> res; + fileEntry.extractURIResult(res, downloadresultcode::TIME_OUT); + CPPUNIT_ASSERT_EQUAL((size_t)2, res.size()); + CPPUNIT_ASSERT_EQUAL(std::string("http://timeout/file"), res[0].getURI()); + CPPUNIT_ASSERT_EQUAL(std::string("http://timeout/file2"), res[1].getURI()); + + CPPUNIT_ASSERT_EQUAL((size_t)2, fileEntry.getURIResults().size()); + CPPUNIT_ASSERT_EQUAL(std::string("http://finished/file"), + fileEntry.getURIResults()[0].getURI()); + CPPUNIT_ASSERT_EQUAL(std::string("http://unknownerror/file"), + fileEntry.getURIResults()[1].getURI()); + + res.clear(); + + fileEntry.extractURIResult(res, downloadresultcode::TIME_OUT); + CPPUNIT_ASSERT(res.empty()); + CPPUNIT_ASSERT_EQUAL((size_t)2, fileEntry.getURIResults().size()); +} + } // namespace aria2 |
