diff options
author | hashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-02 15:18:46 +0000 |
---|---|---|
committer | hashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-02 15:18:46 +0000 |
commit | e5d477340a27793e23258c2a2ed08e3682d37205 (patch) | |
tree | 061f5ab49076b2de32560cd76aeec96348764283 /net/base/upload_bytes_element_reader_unittest.cc | |
parent | f355ed2c91dc2ff549ab45a4af038b3fbce3d7ec (diff) | |
download | chromium_src-e5d477340a27793e23258c2a2ed08e3682d37205.zip chromium_src-e5d477340a27793e23258c2a2ed08e3682d37205.tar.gz chromium_src-e5d477340a27793e23258c2a2ed08e3682d37205.tar.bz2 |
net: Allow calling UploadDataStream::Init() multiple times for reset purpose
There should be a way to reset UploadDataStream for reusing the stream again and again.
BUG=156574
TEST=net_unittests
Review URL: https://chromiumcodereview.appspot.com/11304003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165680 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/upload_bytes_element_reader_unittest.cc')
-rw-r--r-- | net/base/upload_bytes_element_reader_unittest.cc | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/net/base/upload_bytes_element_reader_unittest.cc b/net/base/upload_bytes_element_reader_unittest.cc index 1a3c5d4..eca720f 100644 --- a/net/base/upload_bytes_element_reader_unittest.cc +++ b/net/base/upload_bytes_element_reader_unittest.cc @@ -62,4 +62,26 @@ TEST_F(UploadBytesElementReaderTest, ReadTooMuch) { EXPECT_EQ(bytes_, buf); } +TEST_F(UploadBytesElementReaderTest, MultipleInit) { + std::vector<char> buf(bytes_.size()); + scoped_refptr<IOBuffer> wrapped_buffer = new WrappedIOBuffer(&buf[0]); + + // Read all. + EXPECT_EQ(static_cast<int>(buf.size()), + reader_->ReadSync(wrapped_buffer, buf.size())); + EXPECT_EQ(0U, reader_->BytesRemaining()); + EXPECT_EQ(bytes_, buf); + + // Call Init() again to reset the state. + ASSERT_EQ(OK, reader_->InitSync()); + EXPECT_EQ(bytes_.size(), reader_->GetContentLength()); + EXPECT_EQ(bytes_.size(), reader_->BytesRemaining()); + + // Read again. + EXPECT_EQ(static_cast<int>(buf.size()), + reader_->ReadSync(wrapped_buffer, buf.size())); + EXPECT_EQ(0U, reader_->BytesRemaining()); + EXPECT_EQ(bytes_, buf); +} + } // namespace net |