| Index: media/blink/buffered_data_source_unittest.cc
|
| diff --git a/media/blink/buffered_data_source_unittest.cc b/media/blink/buffered_data_source_unittest.cc
|
| index 688a7a0e1611364b44925eca5d20e84126c24d8b..eed8674dc14bea5a80cd1a3e7adf7bb832590c77 100644
|
| --- a/media/blink/buffered_data_source_unittest.cc
|
| +++ b/media/blink/buffered_data_source_unittest.cc
|
| @@ -223,6 +223,7 @@ class BufferedDataSourceTest : public testing::Test {
|
| BufferedResourceLoader* loader() {
|
| return data_source_->loader_.get();
|
| }
|
| + ActiveLoader* active_loader() { return loader()->active_loader_.get(); }
|
| WebURLLoader* url_loader() {
|
| return loader()->active_loader_->loader_.get();
|
| }
|
| @@ -807,4 +808,45 @@ TEST_F(BufferedDataSourceTest,
|
| Stop();
|
| }
|
|
|
| +TEST_F(BufferedDataSourceTest, ExternalResource_Response206_VerifyDefer) {
|
| + set_preload(BufferedDataSource::METADATA);
|
| + InitializeWith206Response();
|
| +
|
| + EXPECT_EQ(BufferedDataSource::METADATA, preload());
|
| + EXPECT_FALSE(is_local_source());
|
| + EXPECT_TRUE(loader()->range_supported());
|
| + EXPECT_EQ(BufferedResourceLoader::kReadThenDefer, defer_strategy());
|
| +
|
| + // Read a bit from the beginning.
|
| + ReadAt(0);
|
| + EXPECT_CALL(*this, ReadCallback(kDataSize));
|
| + EXPECT_CALL(host_, AddBufferedByteRange(0, kDataSize - 1));
|
| + ReceiveData(kDataSize);
|
| +
|
| + ASSERT_TRUE(active_loader());
|
| + EXPECT_TRUE(active_loader()->deferred());
|
| +}
|
| +
|
| +TEST_F(BufferedDataSourceTest, ExternalResource_Response206_CancelAfterDefer) {
|
| + set_preload(BufferedDataSource::METADATA);
|
| + InitializeWith206Response();
|
| +
|
| + EXPECT_EQ(BufferedDataSource::METADATA, preload());
|
| + EXPECT_FALSE(is_local_source());
|
| + EXPECT_TRUE(loader()->range_supported());
|
| + EXPECT_EQ(BufferedResourceLoader::kReadThenDefer, defer_strategy());
|
| +
|
| + data_source_->OnBufferingHaveEnough();
|
| +
|
| + ASSERT_TRUE(active_loader());
|
| +
|
| + // Read a bit from the beginning.
|
| + ReadAt(0);
|
| + EXPECT_CALL(*this, ReadCallback(kDataSize));
|
| + EXPECT_CALL(host_, AddBufferedByteRange(0, kDataSize - 1));
|
| + ReceiveData(kDataSize);
|
| +
|
| + EXPECT_FALSE(active_loader());
|
| +}
|
| +
|
| } // namespace media
|
|
|