Chromium Code Reviews| Index: webkit/media/buffered_data_source_unittest.cc |
| diff --git a/webkit/media/buffered_data_source_unittest.cc b/webkit/media/buffered_data_source_unittest.cc |
| index c17cc8023a5c1e9ea4941d5703278c470acee0c1..2023c3f2a91bf734e104877e0f576cfdbadfcbe0 100644 |
| --- a/webkit/media/buffered_data_source_unittest.cc |
| +++ b/webkit/media/buffered_data_source_unittest.cc |
| @@ -18,8 +18,8 @@ |
| using ::testing::_; |
| using ::testing::Assign; |
| using ::testing::Invoke; |
| -using ::testing::StrictMock; |
| using ::testing::NiceMock; |
| +using ::testing::StrictMock; |
| using WebKit::WebFrame; |
| using WebKit::WebString; |
| @@ -104,10 +104,13 @@ class BufferedDataSourceTest : public testing::Test { |
| void Initialize(media::PipelineStatus expected) { |
| ExpectCreateResourceLoader(); |
| + |
| + EXPECT_FALSE(data_source_->downloading()); |
| data_source_->Initialize(response_generator_.gurl(), |
| BufferedResourceLoader::kUnspecified, |
| media::NewExpectedStatusCB(expected)); |
| message_loop_.RunAllPending(); |
| + EXPECT_TRUE(data_source_->downloading()); |
| } |
| // Helper to initialize tests with a valid 206 response. |
| @@ -144,8 +147,11 @@ class BufferedDataSourceTest : public testing::Test { |
| message_loop_.RunAllPending(); |
| } |
| - void FinishRead() { |
| - loader()->didReceiveData(url_loader(), data_, kDataSize, kDataSize); |
| + void ReceiveData(int size) { |
| + scoped_array<char> data(new char[size]); |
| + memset(data.get(), 0xA5, size); // Arbitrary non-zero value. |
| + |
| + loader()->didReceiveData(url_loader(), data.get(), size, size); |
| message_loop_.RunAllPending(); |
| } |
| @@ -194,9 +200,6 @@ class BufferedDataSourceTest : public testing::Test { |
| // Used for calling BufferedDataSource::Read(). |
| uint8 buffer_[kDataSize]; |
| - // Used for calling BufferedResourceLoader::didReceiveData(). |
| - char data_[kDataSize]; |
| - |
| DISALLOW_COPY_AND_ASSIGN(BufferedDataSourceTest); |
| }; |
| @@ -437,18 +440,20 @@ TEST_F(BufferedDataSourceTest, Read) { |
| ReadAt(0); |
| - // When the read completes we'll update our network status. |
| - EXPECT_CALL(host_, AddBufferedByteRange(0, kDataSize - 1)); |
| - EXPECT_CALL(*this, ReadCallback(kDataSize)); |
| - FinishRead(); |
| - EXPECT_TRUE(data_source_->downloading()); |
| + // Receive first half of the read. |
| + EXPECT_CALL(host_, AddBufferedByteRange(0, (kDataSize / 2) - 1)); |
| + ReceiveData(kDataSize / 2); |
| - // During teardown we'll also report our final network status. |
| + // Receive last half of the read. |
| + EXPECT_CALL(*this, ReadCallback(kDataSize)); |
| EXPECT_CALL(host_, AddBufferedByteRange(0, kDataSize - 1)); |
| + ReceiveData(kDataSize / 2); |
| EXPECT_TRUE(data_source_->downloading()); |
| Stop(); |
| - EXPECT_FALSE(data_source_->downloading()); |
| + // XXXXXXXXXXXX Should we report something on didFail? The idea here is that |
| + // by calling Stop() on the object no more CBs should execute |
| + EXPECT_TRUE(data_source_->downloading()); |
|
scherkus (not reviewing)
2012/07/09 20:35:48
ATTN!
Ami GONE FROM CHROMIUM
2012/07/10 02:40:14
This change seems wrong. Why are we still downloa
Ami GONE FROM CHROMIUM
2012/07/10 02:40:14
Shouldn't BDS be firing a ReadCB(kReadError) in ca
scherkus (not reviewing)
2012/07/10 03:22:20
It does and we cover that case somewhat indirectly
scherkus (not reviewing)
2012/07/10 03:22:20
We're not really "downloading" per se -- it's our
|
| } |
| } // namespace webkit_media |