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 |