diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-03-07 14:17:53 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-03-07 14:17:53 +0000 |
| commit | 4785b7190cbec0788e262ab0f9cd487cc66d6bf9 (patch) | |
| tree | 00882d23f92c27df2c81ed1b5fba2e7ce090fc0b /test/FtpConnectionTest.cc | |
| parent | b0f180c99c83be511b32c2a22e4e7d701c69a3d9 (diff) | |
2010-03-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that filename is percent encoded where it must be
percent decoded in sendMdtm().
* src/FtpConnection.cc
* test/FtpConnectionTest.cc
Diffstat (limited to 'test/FtpConnectionTest.cc')
| -rw-r--r-- | test/FtpConnectionTest.cc | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/test/FtpConnectionTest.cc b/test/FtpConnectionTest.cc index 4c8598a0..0eade96a 100644 --- a/test/FtpConnectionTest.cc +++ b/test/FtpConnectionTest.cc @@ -30,7 +30,9 @@ class FtpConnectionTest:public CppUnit::TestFixture { CPPUNIT_TEST(testReceivePwdResponse_badStatus); CPPUNIT_TEST(testSendCwd); CPPUNIT_TEST(testSendCwd_baseWorkingDir); + CPPUNIT_TEST(testSendSize); CPPUNIT_TEST(testReceiveSizeResponse); + CPPUNIT_TEST(testSendRetr); CPPUNIT_TEST_SUITE_END(); private: SharedHandle<SocketCore> _serverSocket; @@ -54,7 +56,7 @@ public: _listenPort = addrinfo.second; SharedHandle<Request> req(new Request()); - req->setUri("ftp://localhost/dir/file.img"); + req->setUri("ftp://localhost/dir%20sp/hello%20world.img"); _clientSocket.reset(new SocketCore()); _clientSocket->establishConnection("localhost", _listenPort); @@ -81,7 +83,9 @@ public: void testReceivePwdResponse_badStatus(); void testSendCwd(); void testSendCwd_baseWorkingDir(); + void testSendSize(); void testReceiveSizeResponse(); + void testSendRetr(); }; @@ -141,9 +145,9 @@ void FtpConnectionTest::testSendMdtm() char data[32]; size_t len = sizeof(data); _serverSocket->readData(data, len); - CPPUNIT_ASSERT_EQUAL((size_t)15, len); data[len] = '\0'; - CPPUNIT_ASSERT_EQUAL(std::string("MDTM file.img\r\n"), std::string(data)); + CPPUNIT_ASSERT_EQUAL(std::string("MDTM hello world.img\r\n"), + std::string(data)); } void FtpConnectionTest::testReceiveMdtmResponse() @@ -263,9 +267,8 @@ void FtpConnectionTest::testSendCwd() char data[32]; size_t len = sizeof(data); _serverSocket->readData(data, len); - CPPUNIT_ASSERT_EQUAL((size_t)10, len); data[len] = '\0'; - CPPUNIT_ASSERT_EQUAL(std::string("CWD /dir\r\n"), std::string(data)); + CPPUNIT_ASSERT_EQUAL(std::string("CWD /dir sp\r\n"), std::string(data)); } void FtpConnectionTest::testSendCwd_baseWorkingDir() @@ -275,9 +278,18 @@ void FtpConnectionTest::testSendCwd_baseWorkingDir() char data[32]; size_t len = sizeof(data); _serverSocket->readData(data, len); - CPPUNIT_ASSERT_EQUAL((size_t)15, len); data[len] = '\0'; - CPPUNIT_ASSERT_EQUAL(std::string("CWD /base/dir\r\n"), std::string(data)); + CPPUNIT_ASSERT_EQUAL(std::string("CWD /base/dir sp\r\n"), std::string(data)); +} + +void FtpConnectionTest::testSendSize() +{ + _ftp->sendSize(); + char data[32]; + size_t len = sizeof(data); + _serverSocket->readData(data, len); + CPPUNIT_ASSERT_EQUAL(std::string("SIZE hello world.img\r\n"), + std::string(&data[0], &data[len])); } void FtpConnectionTest::testReceiveSizeResponse() @@ -289,4 +301,14 @@ void FtpConnectionTest::testReceiveSizeResponse() CPPUNIT_ASSERT_EQUAL((uint64_t)4294967296LL, size); } +void FtpConnectionTest::testSendRetr() +{ + _ftp->sendRetr(); + char data[32]; + size_t len = sizeof(data); + _serverSocket->readData(data, len); + CPPUNIT_ASSERT_EQUAL(std::string("RETR hello world.img\r\n"), + std::string(&data[0], &data[len])); +} + } // namespace aria2 |
