Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Unified Diff: webkit/media/buffered_data_source_unittest.cc

Issue 10692106: Split BufferedResourceLoader's network callback into separate loading state and progress callbacks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix stuff Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698