Chromium Code Reviews| Index: media/blink/multibuffer_unittest.cc |
| diff --git a/media/blink/multibuffer_unittest.cc b/media/blink/multibuffer_unittest.cc |
| index 96c8c075fe73ba9add74bf931b52e0ac62220645..525f1c71558f31633ca6facd5c86810dc9831846 100644 |
| --- a/media/blink/multibuffer_unittest.cc |
| +++ b/media/blink/multibuffer_unittest.cc |
| @@ -18,27 +18,32 @@ const int kBlockSizeShift = 8; |
| const size_t kBlockSize = 1UL << kBlockSizeShift; |
| namespace media { |
| -class TestMultiBufferDataProvider; |
| -std::vector<TestMultiBufferDataProvider*> writers; |
| +class FakeMultiBufferDataProvider; |
| -class TestMultiBufferDataProvider : public media::MultiBuffer::DataProvider { |
| +namespace { |
| +std::vector<FakeMultiBufferDataProvider*> writers; |
| +} // namespace |
| + |
| +class FakeMultiBufferDataProvider : public media::MultiBuffer::DataProvider { |
| public: |
| - TestMultiBufferDataProvider(MultiBufferBlockId pos, |
| + FakeMultiBufferDataProvider(MultiBufferBlockId pos, |
| size_t file_size, |
| int max_blocks_after_defer, |
| bool must_read_whole_file, |
| + MultiBuffer* multibuffer, |
| media::TestRandom* rnd) |
|
xhwang
2015/11/23 23:09:21
s/media:://
hubbe
2015/11/24 22:55:11
Done
(Here and everywhere else)
|
| : pos_(pos), |
| blocks_until_deferred_(1 << 30), |
| max_blocks_after_defer_(max_blocks_after_defer), |
| file_size_(file_size), |
| must_read_whole_file_(must_read_whole_file), |
| + multibuffer_(multibuffer), |
| rnd_(rnd) { |
| writers.push_back(this); |
| } |
| - ~TestMultiBufferDataProvider() override { |
| + ~FakeMultiBufferDataProvider() override { |
| if (must_read_whole_file_) { |
| CHECK_GE(pos_ * kBlockSize, file_size_); |
| } |
| @@ -64,11 +69,6 @@ class TestMultiBufferDataProvider : public media::MultiBuffer::DataProvider { |
| return ret; |
| } |
| - void SetAvailableCallback(const base::Closure& cb) override { |
| - DCHECK(!Available()); |
| - cb_ = cb; |
| - } |
| - |
| void SetDeferred(bool deferred) override { |
| if (deferred) { |
| if (max_blocks_after_defer_ > 0) { |
| @@ -104,7 +104,7 @@ class TestMultiBufferDataProvider : public media::MultiBuffer::DataProvider { |
| fifo_.push_back(DataBuffer::CreateEOSBuffer()); |
| ret = false; |
| } |
| - cb_.Run(); |
| + multibuffer_->OnDataProviderEvent(this); |
| return ret; |
| } |
| @@ -115,7 +115,7 @@ class TestMultiBufferDataProvider : public media::MultiBuffer::DataProvider { |
| int32_t max_blocks_after_defer_; |
| size_t file_size_; |
| bool must_read_whole_file_; |
| - base::Closure cb_; |
| + MultiBuffer* multibuffer_; |
| media::TestRandom* rnd_; |
| }; |
| @@ -185,12 +185,14 @@ class TestMultiBuffer : public media::MultiBuffer { |
| void SetRangeSupported(bool supported) { range_supported_ = supported; } |
| protected: |
| - DataProvider* CreateWriter(const MultiBufferBlockId& pos) override { |
| + scoped_ptr<DataProvider> CreateWriter( |
| + const MultiBufferBlockId& pos) override { |
| DCHECK(create_ok_); |
| writers_created_++; |
| CHECK_LT(writers.size(), max_writers_); |
| - return new TestMultiBufferDataProvider( |
| - pos, file_size_, max_blocks_after_defer_, must_read_whole_file_, rnd_); |
| + return scoped_ptr<DataProvider>(new FakeMultiBufferDataProvider( |
| + pos, file_size_, max_blocks_after_defer_, must_read_whole_file_, this, |
| + rnd_)); |
| } |
| void Prune(size_t max_to_free) override { |
| // Prune should not cause additional writers to be spawned. |
| @@ -211,7 +213,8 @@ class TestMultiBuffer : public media::MultiBuffer { |
| int32_t writers_created_; |
| media::TestRandom* rnd_; |
| }; |
| -} |
| + |
| +} // namespace media |
| class MultiBufferTest : public testing::Test { |
|
xhwang
2015/11/23 23:09:21
Is there any reason these tests are not in media n
hubbe
2015/11/24 22:55:11
Nope, done.
|
| public: |