| Index: media/blink/multibuffer_data_source_unittest.cc
|
| diff --git a/media/blink/multibuffer_data_source_unittest.cc b/media/blink/multibuffer_data_source_unittest.cc
|
| index 0a93d97d95771dd7bb5f4ab740d897e4a1705b8e..91b18fa41c64fa36459978b185e0fe8f0686e306 100644
|
| --- a/media/blink/multibuffer_data_source_unittest.cc
|
| +++ b/media/blink/multibuffer_data_source_unittest.cc
|
| @@ -1339,4 +1339,31 @@ TEST_F(MultibufferDataSourceTest, Http_NotStreamingAfterRedirect) {
|
| Stop();
|
| }
|
|
|
| +TEST_F(MultibufferDataSourceTest, LengthKnownAtEOF) {
|
| + Initialize(kHttpUrl, true);
|
| + // Server responds without content-length.
|
| + WebURLResponse response = response_generator_->Generate200();
|
| + response.clearHTTPHeaderField(WebString::fromUTF8("Content-Length"));
|
| + response.setExpectedContentLength(kPositionNotSpecified);
|
| + Respond(response);
|
| + EXPECT_CALL(host_, AddBufferedByteRange(0, kDataSize));
|
| + ReceiveData(kDataSize);
|
| + int64_t len;
|
| + EXPECT_FALSE(data_source_->GetSize(&len));
|
| + EXPECT_TRUE(data_source_->IsStreaming());
|
| + EXPECT_CALL(*this, ReadCallback(kDataSize));
|
| + ReadAt(0);
|
| +
|
| + ReadAt(kDataSize);
|
| + EXPECT_CALL(host_, SetTotalBytes(kDataSize));
|
| + EXPECT_CALL(*this, ReadCallback(0));
|
| + EXPECT_CALL(host_, AddBufferedByteRange(0, kDataSize * 2));
|
| + FinishLoading();
|
| +
|
| + // Done loading, now we should know the length.
|
| + EXPECT_TRUE(data_source_->GetSize(&len));
|
| + EXPECT_EQ(kDataSize, len);
|
| + Stop();
|
| +}
|
| +
|
| } // namespace media
|
|
|