| Index: net/ftp/ftp_network_transaction_unittest.cc
|
| diff --git a/net/ftp/ftp_network_transaction_unittest.cc b/net/ftp/ftp_network_transaction_unittest.cc
|
| index 7726416669ade212d49dbb4741829c2db0b8db09..cc9c1bb97faa774332c93a64bcc7304214b52cc4 100644
|
| --- a/net/ftp/ftp_network_transaction_unittest.cc
|
| +++ b/net/ftp/ftp_network_transaction_unittest.cc
|
| @@ -208,6 +208,30 @@ class FtpMockControlSocketFileDownload : public FtpMockControlSocket {
|
| DISALLOW_COPY_AND_ASSIGN(FtpMockControlSocketFileDownload);
|
| };
|
|
|
| +class FtpMockControlSocketFileDownloadTransferStarting
|
| + : public FtpMockControlSocketFileDownload {
|
| + public:
|
| + FtpMockControlSocketFileDownloadTransferStarting() {
|
| + }
|
| +
|
| + virtual MockWriteResult OnWrite(const std::string& data) {
|
| + if (InjectFault())
|
| + return MockWriteResult(true, data.length());
|
| + switch (state()) {
|
| + case PRE_RETR:
|
| + return Verify("RETR /file\r\n", data, PRE_QUIT,
|
| + "125-Data connection already open.\r\n"
|
| + "125 Transfer starting.\r\n"
|
| + "226 Transfer complete.\r\n");
|
| + default:
|
| + return FtpMockControlSocketFileDownload::OnWrite(data);
|
| + }
|
| + }
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(FtpMockControlSocketFileDownloadTransferStarting);
|
| +};
|
| +
|
| class FtpMockControlSocketFileDownloadRetrFail
|
| : public FtpMockControlSocketFileDownload {
|
| public:
|
| @@ -356,6 +380,12 @@ TEST_F(FtpNetworkTransactionTest, DownloadTransactionShortReads5) {
|
| ExecuteTransaction(&ctrl_socket, "ftp://host/file", OK);
|
| }
|
|
|
| +TEST_F(FtpNetworkTransactionTest, DownloadTransactionTransferStarting) {
|
| + FtpMockControlSocketFileDownloadTransferStarting ctrl_socket;
|
| + ExecuteTransaction(&ctrl_socket, "ftp://host/file", OK);
|
| +}
|
| +
|
| +
|
| TEST_F(FtpNetworkTransactionTest, DirectoryTransactionFailUser) {
|
| FtpMockControlSocketDirectoryListing ctrl_socket;
|
| TransactionFailHelper(&ctrl_socket,
|
|
|