2009-05-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

In DefaultBtContext::getActualBasePath(), return first
	FileEntry::getPath() for single file torrent.	
	* src/DefaultBtContext.cc
	* test/DefaultBtContextTest.cc
pull/1/head
Tatsuhiro Tsujikawa 2009-05-05 03:20:56 +00:00
parent e1f32b6b66
commit 8fe80169b3
3 changed files with 28 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2009-05-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
In DefaultBtContext::getActualBasePath(), return first
FileEntry::getPath() for single file torrent.
* src/DefaultBtContext.cc
* test/DefaultBtContextTest.cc
2009-05-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed directIOAllowed() from BinaryStream, DiskWriter,

View File

@ -418,7 +418,11 @@ size_t DefaultBtContext::getNumPieces() const {
std::string DefaultBtContext::getActualBasePath() const
{
return _dir+"/"+name;
if(fileEntries.size() == 1) {
return fileEntries.front()->getPath();
} else {
return _dir+"/"+name;
}
}
void DefaultBtContext::computeFastSet

View File

@ -43,6 +43,7 @@ class DefaultBtContextTest:public CppUnit::TestFixture {
CPPUNIT_TEST(testLoadFromMemory_joinPathMulti);
CPPUNIT_TEST(testLoadFromMemory_joinPathSingle);
CPPUNIT_TEST(testGetNodes);
CPPUNIT_TEST(testGetActualBasePath);
CPPUNIT_TEST_SUITE_END();
public:
void setUp() {
@ -74,6 +75,7 @@ public:
void testLoadFromMemory_joinPathMulti();
void testLoadFromMemory_joinPathSingle();
void testGetNodes();
void testGetActualBasePath();
};
@ -532,4 +534,18 @@ void DefaultBtContextTest::testGetNodes()
}
void DefaultBtContextTest::testGetActualBasePath()
{
DefaultBtContext singleCtx;
singleCtx.load("single.torrent");
singleCtx.setFilePathWithIndex(1, "new-path");
CPPUNIT_ASSERT_EQUAL(std::string("new-path"), singleCtx.getActualBasePath());
DefaultBtContext multiCtx;
multiCtx.setDir("downloads");
multiCtx.load("test.torrent");
CPPUNIT_ASSERT_EQUAL(std::string("downloads/aria2-test"),
multiCtx.getActualBasePath());
}
} // namespace aria2