diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-05-28 21:44:17 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-05-28 21:44:17 +0900 |
| commit | fde376efbc745908f4cf090c8aef5079ad1ff393 (patch) | |
| tree | f1df2fc4ed476394373fdc46b7481cf6cd4a4d3c /test/SessionSerializerTest.cc | |
| parent | 7669c72d0313fb85472805cacd32b2c80dfb8e1a (diff) | |
SessionSerializer: Save spent URIs as well as remaining ones
Diffstat (limited to 'test/SessionSerializerTest.cc')
| -rw-r--r-- | test/SessionSerializerTest.cc | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/SessionSerializerTest.cc b/test/SessionSerializerTest.cc index e9da45f6..b2dc5bd5 100644 --- a/test/SessionSerializerTest.cc +++ b/test/SessionSerializerTest.cc @@ -22,9 +22,11 @@ class SessionSerializerTest:public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(SessionSerializerTest); CPPUNIT_TEST(testSave); + CPPUNIT_TEST(testSaveErrorDownload); CPPUNIT_TEST_SUITE_END(); public: void testSave(); + void testSaveErrorDownload(); }; @@ -123,4 +125,26 @@ void SessionSerializerTest::testSave() #endif // defined(ENABLE_BITTORRENT) && defined(ENABLE_METALINK) } +void SessionSerializerTest::testSaveErrorDownload() +{ + SharedHandle<DownloadResult> dr = createDownloadResult(error_code::TIME_OUT, + "http://error"); + dr->fileEntries[0]->getSpentUris().swap + (dr->fileEntries[0]->getRemainingUris()); + SharedHandle<Option> option(new Option()); + option->put(PREF_MAX_DOWNLOAD_RESULT, "10"); + SharedHandle<RequestGroupMan> rgman + (new RequestGroupMan(std::vector<SharedHandle<RequestGroup> >(), 1, + option.get())); + rgman->addDownloadResult(dr); + SessionSerializer s(rgman); + std::string filename = + A2_TEST_OUT_DIR"/aria2_SessionSerializerTest_testSaveErrorDownload"; + CPPUNIT_ASSERT(s.save(filename)); + std::ifstream ss(filename.c_str(), std::ios::binary); + std::string line; + std::getline(ss, line); + CPPUNIT_ASSERT_EQUAL(std::string("http://error\t"), line); +} + } // namespace aria2 |
