Files
aria2/test/UriFileListParserTest.cc
Tatsuhiro Tsujikawa ccdd5b31a3 2007-06-01 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/FileAllocationCommand.cc: Derived from RealtimeCommand.
	* src/CheckIntegrityCommand.cc: Derived from RealtimeCommand.
	
	* src/MetalinkEntry.h
	(checksum): Changed to ChecksumHandle
	* src/MetalinkRequestInfo.cc
	(checksum): Changed to ChecksumHandle

	* src/File.cc
	(mkdirs): OPEN_MODE -> DIR_OPEN_MODE
	* src/common.h
	(DIR_OPEN_MODE): New definition

	* src/RequestGroup.cc
	(prepareForNextAction): Added an argument.

	* src/message.h
	(MSG_GOOD_CHECKSUM): New definition
	(MSG_BAD_CHECKSUM): New definition

	* src/HttpResponseCommand.cc
	(handleDefaultEncoding): Continue download sequence in new
	non-segmented download.

	* src/FileAllocationEntry.h
	(_nextDownloadCommand): New variable.

	* src/DownloadCommand.cc
	(prepareForNextSegment): Create ChecksumCommand if checksum is
	available.	

	* src/RealtimeCommand.h, src/RealtimeCommand.cc: New class.

	* src/IteratableChecksumValidator.h,
	src/IteratableChecksumValidator.cc: New class.

	* src/ChecksumCommand.h, src/ChecksumCommand.cc: New class.
2007-05-31 15:56:20 +00:00

50 lines
1.2 KiB
C++

#include "UriFileListParser.h"
#include "Exception.h"
#include "Util.h"
#include <sstream>
#include <algorithm>
#include <iostream>
#include <iterator>
#include <cppunit/extensions/HelperMacros.h>
using namespace std;
class UriFileListParserTest : public CppUnit::TestFixture {
CPPUNIT_TEST_SUITE(UriFileListParserTest);
CPPUNIT_TEST(testHasNext);
CPPUNIT_TEST_SUITE_END();
private:
public:
void setUp() {
}
void testHasNext();
};
CPPUNIT_TEST_SUITE_REGISTRATION( UriFileListParserTest );
string list2String(const Strings& src)
{
ostringstream strm;
copy(src.begin(), src.end(), ostream_iterator<string>(strm, " "));
return Util::trim(strm.str());
}
void UriFileListParserTest::testHasNext()
{
UriFileListParser flp("filelist1.txt");
CPPUNIT_ASSERT(flp.hasNext());
CPPUNIT_ASSERT_EQUAL(string("http://localhost/index.html http://localhost2/index.html"), list2String(flp.next()));
CPPUNIT_ASSERT(flp.hasNext());
CPPUNIT_ASSERT_EQUAL(string("ftp://localhost/aria2.tar.bz2"),
list2String(flp.next()));
CPPUNIT_ASSERT(flp.hasNext());
CPPUNIT_ASSERT_EQUAL(string(""),
list2String(flp.next()));
CPPUNIT_ASSERT(!flp.hasNext());
}