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

Side by Side Diff: content/renderer/media/buffered_data_source_unittest.cc

Issue 512413002: Move Preload enum to BufferedDataSource. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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 unified diff | Download patch
« no previous file with comments | « content/renderer/media/buffered_data_source.h ('k') | content/renderer/media/preload.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/bind.h" 5 #include "base/bind.h"
6 #include "base/message_loop/message_loop.h" 6 #include "base/message_loop/message_loop.h"
7 #include "content/public/common/url_constants.h" 7 #include "content/public/common/url_constants.h"
8 #include "content/renderer/media/buffered_data_source.h" 8 #include "content/renderer/media/buffered_data_source.h"
9 #include "content/renderer/media/test_response_generator.h" 9 #include "content/renderer/media/test_response_generator.h"
10 #include "content/test/mock_webframeclient.h" 10 #include "content/test/mock_webframeclient.h"
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 static const int kDataSize = 1024; 105 static const int kDataSize = 1024;
106 106
107 static const char kHttpUrl[] = "http://localhost/foo.webm"; 107 static const char kHttpUrl[] = "http://localhost/foo.webm";
108 static const char kFileUrl[] = "file:///tmp/bar.webm"; 108 static const char kFileUrl[] = "file:///tmp/bar.webm";
109 109
110 class BufferedDataSourceTest : public testing::Test { 110 class BufferedDataSourceTest : public testing::Test {
111 public: 111 public:
112 BufferedDataSourceTest() 112 BufferedDataSourceTest()
113 : view_(WebView::create(NULL)), 113 : view_(WebView::create(NULL)),
114 frame_(WebLocalFrame::create(&client_)), 114 frame_(WebLocalFrame::create(&client_)),
115 preload_(AUTO) { 115 preload_(BufferedDataSource::AUTO) {
116 view_->setMainFrame(frame_); 116 view_->setMainFrame(frame_);
117 } 117 }
118 118
119 virtual ~BufferedDataSourceTest() { 119 virtual ~BufferedDataSourceTest() {
120 view_->close(); 120 view_->close();
121 frame_->close(); 121 frame_->close();
122 } 122 }
123 123
124 MOCK_METHOD1(OnInitialize, void(bool)); 124 MOCK_METHOD1(OnInitialize, void(bool));
125 125
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 } 218 }
219 219
220 // Accessors for private variables on |data_source_|. 220 // Accessors for private variables on |data_source_|.
221 BufferedResourceLoader* loader() { 221 BufferedResourceLoader* loader() {
222 return data_source_->loader_.get(); 222 return data_source_->loader_.get();
223 } 223 }
224 WebURLLoader* url_loader() { 224 WebURLLoader* url_loader() {
225 return loader()->active_loader_->loader_.get(); 225 return loader()->active_loader_->loader_.get();
226 } 226 }
227 227
228 Preload preload() { return data_source_->preload_; } 228 BufferedDataSource::Preload preload() { return data_source_->preload_; }
229 void set_preload(Preload preload) { preload_ = preload; } 229 void set_preload(BufferedDataSource::Preload preload) { preload_ = preload; }
230 BufferedResourceLoader::DeferStrategy defer_strategy() { 230 BufferedResourceLoader::DeferStrategy defer_strategy() {
231 return loader()->defer_strategy_; 231 return loader()->defer_strategy_;
232 } 232 }
233 int data_source_bitrate() { return data_source_->bitrate_; } 233 int data_source_bitrate() { return data_source_->bitrate_; }
234 int data_source_playback_rate() { return data_source_->playback_rate_; } 234 int data_source_playback_rate() { return data_source_->playback_rate_; }
235 int loader_bitrate() { return loader()->bitrate_; } 235 int loader_bitrate() { return loader()->bitrate_; }
236 int loader_playback_rate() { return loader()->playback_rate_; } 236 int loader_playback_rate() { return loader()->playback_rate_; }
237 bool is_local_source() { return data_source_->assume_fully_buffered(); } 237 bool is_local_source() { return data_source_->assume_fully_buffered(); }
238 void set_might_be_reused_from_cache_in_future(bool value) { 238 void set_might_be_reused_from_cache_in_future(bool value) {
239 loader()->might_be_reused_from_cache_in_future_ = value; 239 loader()->might_be_reused_from_cache_in_future_ = value;
240 } 240 }
241 241
242 scoped_ptr<MockBufferedDataSource> data_source_; 242 scoped_ptr<MockBufferedDataSource> data_source_;
243 243
244 scoped_ptr<TestResponseGenerator> response_generator_; 244 scoped_ptr<TestResponseGenerator> response_generator_;
245 MockWebFrameClient client_; 245 MockWebFrameClient client_;
246 WebView* view_; 246 WebView* view_;
247 WebLocalFrame* frame_; 247 WebLocalFrame* frame_;
248 248
249 StrictMock<MockBufferedDataSourceHost> host_; 249 StrictMock<MockBufferedDataSourceHost> host_;
250 base::MessageLoop message_loop_; 250 base::MessageLoop message_loop_;
251 251
252 private: 252 private:
253 // Used for calling BufferedDataSource::Read(). 253 // Used for calling BufferedDataSource::Read().
254 uint8 buffer_[kDataSize]; 254 uint8 buffer_[kDataSize];
255 255
256 Preload preload_; 256 BufferedDataSource::Preload preload_;
257 257
258 DISALLOW_COPY_AND_ASSIGN(BufferedDataSourceTest); 258 DISALLOW_COPY_AND_ASSIGN(BufferedDataSourceTest);
259 }; 259 };
260 260
261 TEST_F(BufferedDataSourceTest, Range_Supported) { 261 TEST_F(BufferedDataSourceTest, Range_Supported) {
262 InitializeWith206Response(); 262 InitializeWith206Response();
263 263
264 EXPECT_TRUE(data_source_->loading()); 264 EXPECT_TRUE(data_source_->loading());
265 EXPECT_FALSE(data_source_->IsStreaming()); 265 EXPECT_FALSE(data_source_->IsStreaming());
266 Stop(); 266 Stop();
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
518 EXPECT_CALL(*this, ReadCallback(media::DataSource::kReadError)); 518 EXPECT_CALL(*this, ReadCallback(media::DataSource::kReadError));
519 data_source_->Stop(); 519 data_source_->Stop();
520 } 520 }
521 message_loop_.RunUntilIdle(); 521 message_loop_.RunUntilIdle();
522 } 522 }
523 523
524 TEST_F(BufferedDataSourceTest, DefaultValues) { 524 TEST_F(BufferedDataSourceTest, DefaultValues) {
525 InitializeWith206Response(); 525 InitializeWith206Response();
526 526
527 // Ensure we have sane values for default loading scenario. 527 // Ensure we have sane values for default loading scenario.
528 EXPECT_EQ(AUTO, preload()); 528 EXPECT_EQ(BufferedDataSource::AUTO, preload());
529 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 529 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
530 530
531 EXPECT_EQ(0, data_source_bitrate()); 531 EXPECT_EQ(0, data_source_bitrate());
532 EXPECT_EQ(0.0f, data_source_playback_rate()); 532 EXPECT_EQ(0.0f, data_source_playback_rate());
533 EXPECT_EQ(0, loader_bitrate()); 533 EXPECT_EQ(0, loader_bitrate());
534 EXPECT_EQ(0.0f, loader_playback_rate()); 534 EXPECT_EQ(0.0f, loader_playback_rate());
535 535
536 EXPECT_TRUE(data_source_->loading()); 536 EXPECT_TRUE(data_source_->loading());
537 Stop(); 537 Stop();
538 } 538 }
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
656 EXPECT_FALSE(data_source_->downloading()); 656 EXPECT_FALSE(data_source_->downloading());
657 FinishLoading(); 657 FinishLoading();
658 EXPECT_FALSE(data_source_->downloading()); 658 EXPECT_FALSE(data_source_->downloading());
659 659
660 Stop(); 660 Stop();
661 } 661 }
662 662
663 TEST_F(BufferedDataSourceTest, LocalResource_DeferStrategy) { 663 TEST_F(BufferedDataSourceTest, LocalResource_DeferStrategy) {
664 InitializeWithFileResponse(); 664 InitializeWithFileResponse();
665 665
666 EXPECT_EQ(AUTO, preload()); 666 EXPECT_EQ(BufferedDataSource::AUTO, preload());
667 EXPECT_TRUE(is_local_source()); 667 EXPECT_TRUE(is_local_source());
668 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 668 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
669 669
670 data_source_->MediaIsPlaying(); 670 data_source_->MediaIsPlaying();
671 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 671 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
672 672
673 data_source_->MediaIsPaused(); 673 data_source_->MediaIsPaused();
674 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 674 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
675 675
676 Stop(); 676 Stop();
677 } 677 }
678 678
679 TEST_F(BufferedDataSourceTest, LocalResource_PreloadMetadata_DeferStrategy) { 679 TEST_F(BufferedDataSourceTest, LocalResource_PreloadMetadata_DeferStrategy) {
680 set_preload(METADATA); 680 set_preload(BufferedDataSource::METADATA);
681 InitializeWithFileResponse(); 681 InitializeWithFileResponse();
682 682
683 EXPECT_EQ(METADATA, preload()); 683 EXPECT_EQ(BufferedDataSource::METADATA, preload());
684 EXPECT_TRUE(is_local_source()); 684 EXPECT_TRUE(is_local_source());
685 EXPECT_EQ(BufferedResourceLoader::kReadThenDefer, defer_strategy()); 685 EXPECT_EQ(BufferedResourceLoader::kReadThenDefer, defer_strategy());
686 686
687 data_source_->MediaIsPlaying(); 687 data_source_->MediaIsPlaying();
688 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 688 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
689 689
690 data_source_->MediaIsPaused(); 690 data_source_->MediaIsPaused();
691 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 691 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
692 692
693 Stop(); 693 Stop();
694 } 694 }
695 695
696 TEST_F(BufferedDataSourceTest, ExternalResource_Reponse200_DeferStrategy) { 696 TEST_F(BufferedDataSourceTest, ExternalResource_Reponse200_DeferStrategy) {
697 InitializeWith200Response(); 697 InitializeWith200Response();
698 698
699 EXPECT_EQ(AUTO, preload()); 699 EXPECT_EQ(BufferedDataSource::AUTO, preload());
700 EXPECT_FALSE(is_local_source()); 700 EXPECT_FALSE(is_local_source());
701 EXPECT_FALSE(loader()->range_supported()); 701 EXPECT_FALSE(loader()->range_supported());
702 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 702 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
703 703
704 data_source_->MediaIsPlaying(); 704 data_source_->MediaIsPlaying();
705 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 705 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
706 706
707 data_source_->MediaIsPaused(); 707 data_source_->MediaIsPaused();
708 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 708 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
709 709
710 Stop(); 710 Stop();
711 } 711 }
712 712
713 TEST_F(BufferedDataSourceTest, 713 TEST_F(BufferedDataSourceTest,
714 ExternalResource_Response200_PreloadMetadata_DeferStrategy) { 714 ExternalResource_Response200_PreloadMetadata_DeferStrategy) {
715 set_preload(METADATA); 715 set_preload(BufferedDataSource::METADATA);
716 InitializeWith200Response(); 716 InitializeWith200Response();
717 717
718 EXPECT_EQ(METADATA, preload()); 718 EXPECT_EQ(BufferedDataSource::METADATA, preload());
719 EXPECT_FALSE(is_local_source()); 719 EXPECT_FALSE(is_local_source());
720 EXPECT_FALSE(loader()->range_supported()); 720 EXPECT_FALSE(loader()->range_supported());
721 EXPECT_EQ(BufferedResourceLoader::kReadThenDefer, defer_strategy()); 721 EXPECT_EQ(BufferedResourceLoader::kReadThenDefer, defer_strategy());
722 722
723 data_source_->MediaIsPlaying(); 723 data_source_->MediaIsPlaying();
724 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 724 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
725 725
726 data_source_->MediaIsPaused(); 726 data_source_->MediaIsPaused();
727 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 727 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
728 728
729 Stop(); 729 Stop();
730 } 730 }
731 731
732 TEST_F(BufferedDataSourceTest, ExternalResource_Reponse206_DeferStrategy) { 732 TEST_F(BufferedDataSourceTest, ExternalResource_Reponse206_DeferStrategy) {
733 InitializeWith206Response(); 733 InitializeWith206Response();
734 734
735 EXPECT_EQ(AUTO, preload()); 735 EXPECT_EQ(BufferedDataSource::AUTO, preload());
736 EXPECT_FALSE(is_local_source()); 736 EXPECT_FALSE(is_local_source());
737 EXPECT_TRUE(loader()->range_supported()); 737 EXPECT_TRUE(loader()->range_supported());
738 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 738 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
739 739
740 data_source_->MediaIsPlaying(); 740 data_source_->MediaIsPlaying();
741 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 741 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
742 set_might_be_reused_from_cache_in_future(true); 742 set_might_be_reused_from_cache_in_future(true);
743 data_source_->MediaIsPaused(); 743 data_source_->MediaIsPaused();
744 EXPECT_EQ(BufferedResourceLoader::kNeverDefer, defer_strategy()); 744 EXPECT_EQ(BufferedResourceLoader::kNeverDefer, defer_strategy());
745 745
746 data_source_->MediaIsPlaying(); 746 data_source_->MediaIsPlaying();
747 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 747 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
748 set_might_be_reused_from_cache_in_future(false); 748 set_might_be_reused_from_cache_in_future(false);
749 data_source_->MediaIsPaused(); 749 data_source_->MediaIsPaused();
750 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 750 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
751 751
752 Stop(); 752 Stop();
753 } 753 }
754 754
755 TEST_F(BufferedDataSourceTest, 755 TEST_F(BufferedDataSourceTest,
756 ExternalResource_Response206_PreloadMetadata_DeferStrategy) { 756 ExternalResource_Response206_PreloadMetadata_DeferStrategy) {
757 set_preload(METADATA); 757 set_preload(BufferedDataSource::METADATA);
758 InitializeWith206Response(); 758 InitializeWith206Response();
759 759
760 EXPECT_EQ(METADATA, preload()); 760 EXPECT_EQ(BufferedDataSource::METADATA, preload());
761 EXPECT_FALSE(is_local_source()); 761 EXPECT_FALSE(is_local_source());
762 EXPECT_TRUE(loader()->range_supported()); 762 EXPECT_TRUE(loader()->range_supported());
763 EXPECT_EQ(BufferedResourceLoader::kReadThenDefer, defer_strategy()); 763 EXPECT_EQ(BufferedResourceLoader::kReadThenDefer, defer_strategy());
764 764
765 data_source_->MediaIsPlaying(); 765 data_source_->MediaIsPlaying();
766 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 766 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
767 set_might_be_reused_from_cache_in_future(true); 767 set_might_be_reused_from_cache_in_future(true);
768 data_source_->MediaIsPaused(); 768 data_source_->MediaIsPaused();
769 EXPECT_EQ(BufferedResourceLoader::kNeverDefer, defer_strategy()); 769 EXPECT_EQ(BufferedResourceLoader::kNeverDefer, defer_strategy());
770 770
771 data_source_->MediaIsPlaying(); 771 data_source_->MediaIsPlaying();
772 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 772 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
773 set_might_be_reused_from_cache_in_future(false); 773 set_might_be_reused_from_cache_in_future(false);
774 data_source_->MediaIsPaused(); 774 data_source_->MediaIsPaused();
775 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy()); 775 EXPECT_EQ(BufferedResourceLoader::kCapacityDefer, defer_strategy());
776 776
777 Stop(); 777 Stop();
778 } 778 }
779 779
780 } // namespace content 780 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/buffered_data_source.h ('k') | content/renderer/media/preload.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698