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

Side by Side Diff: media/blink/buffered_data_source_unittest.cc

Issue 1534273002: Switch to standard integer types in media/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more Created 5 years 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
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 "base/run_loop.h" 7 #include "base/run_loop.h"
8 #include "media/base/media_log.h" 8 #include "media/base/media_log.h"
9 #include "media/base/mock_filters.h" 9 #include "media/base/mock_filters.h"
10 #include "media/base/test_helpers.h" 10 #include "media/base/test_helpers.h"
(...skipping 20 matching lines...) Expand all
31 using blink::WebURLResponse; 31 using blink::WebURLResponse;
32 using blink::WebView; 32 using blink::WebView;
33 33
34 namespace media { 34 namespace media {
35 35
36 class MockBufferedDataSourceHost : public BufferedDataSourceHost { 36 class MockBufferedDataSourceHost : public BufferedDataSourceHost {
37 public: 37 public:
38 MockBufferedDataSourceHost() {} 38 MockBufferedDataSourceHost() {}
39 virtual ~MockBufferedDataSourceHost() {} 39 virtual ~MockBufferedDataSourceHost() {}
40 40
41 MOCK_METHOD1(SetTotalBytes, void(int64 total_bytes)); 41 MOCK_METHOD1(SetTotalBytes, void(int64_t total_bytes));
42 MOCK_METHOD2(AddBufferedByteRange, void(int64 start, int64 end)); 42 MOCK_METHOD2(AddBufferedByteRange, void(int64_t start, int64_t end));
43 43
44 private: 44 private:
45 DISALLOW_COPY_AND_ASSIGN(MockBufferedDataSourceHost); 45 DISALLOW_COPY_AND_ASSIGN(MockBufferedDataSourceHost);
46 }; 46 };
47 47
48 // Overrides CreateResourceLoader() to permit injecting a MockWebURLLoader. 48 // Overrides CreateResourceLoader() to permit injecting a MockWebURLLoader.
49 // Also keeps track of whether said MockWebURLLoader is actively loading. 49 // Also keeps track of whether said MockWebURLLoader is actively loading.
50 class MockBufferedDataSource : public BufferedDataSource { 50 class MockBufferedDataSource : public BufferedDataSource {
51 public: 51 public:
52 MockBufferedDataSource( 52 MockBufferedDataSource(
53 const GURL& url, 53 const GURL& url,
54 BufferedResourceLoader::CORSMode cors_mode, 54 BufferedResourceLoader::CORSMode cors_mode,
55 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, 55 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner,
56 WebLocalFrame* frame, 56 WebLocalFrame* frame,
57 BufferedDataSourceHost* host) 57 BufferedDataSourceHost* host)
58 : BufferedDataSource(url, 58 : BufferedDataSource(url,
59 cors_mode, 59 cors_mode,
60 task_runner, 60 task_runner,
61 frame, 61 frame,
62 new media::MediaLog(), 62 new media::MediaLog(),
63 host, 63 host,
64 base::Bind(&MockBufferedDataSource::set_downloading, 64 base::Bind(&MockBufferedDataSource::set_downloading,
65 base::Unretained(this))), 65 base::Unretained(this))),
66 downloading_(false), 66 downloading_(false),
67 loading_(false) {} 67 loading_(false) {}
68 virtual ~MockBufferedDataSource() {} 68 virtual ~MockBufferedDataSource() {}
69 69
70 MOCK_METHOD2(CreateResourceLoader, BufferedResourceLoader*(int64, int64)); 70 MOCK_METHOD2(CreateResourceLoader, BufferedResourceLoader*(int64_t, int64_t));
71 BufferedResourceLoader* CreateMockResourceLoader(int64 first_byte_position, 71 BufferedResourceLoader* CreateMockResourceLoader(int64_t first_byte_position,
72 int64 last_byte_position) { 72 int64_t last_byte_position) {
73 CHECK(!loading_) << "Previous resource load wasn't cancelled"; 73 CHECK(!loading_) << "Previous resource load wasn't cancelled";
74 74
75 BufferedResourceLoader* loader = 75 BufferedResourceLoader* loader =
76 BufferedDataSource::CreateResourceLoader(first_byte_position, 76 BufferedDataSource::CreateResourceLoader(first_byte_position,
77 last_byte_position); 77 last_byte_position);
78 78
79 // Keep track of active loading state via loadAsynchronously() and cancel(). 79 // Keep track of active loading state via loadAsynchronously() and cancel().
80 NiceMock<MockWebURLLoader>* url_loader = new NiceMock<MockWebURLLoader>(); 80 NiceMock<MockWebURLLoader>* url_loader = new NiceMock<MockWebURLLoader>();
81 ON_CALL(*url_loader, loadAsynchronously(_, _)) 81 ON_CALL(*url_loader, loadAsynchronously(_, _))
82 .WillByDefault(Assign(&loading_, true)); 82 .WillByDefault(Assign(&loading_, true));
(...skipping 13 matching lines...) Expand all
96 private: 96 private:
97 // Whether the resource is downloading or deferred. 97 // Whether the resource is downloading or deferred.
98 bool downloading_; 98 bool downloading_;
99 99
100 // Whether the resource load has starting loading but yet to been cancelled. 100 // Whether the resource load has starting loading but yet to been cancelled.
101 bool loading_; 101 bool loading_;
102 102
103 DISALLOW_COPY_AND_ASSIGN(MockBufferedDataSource); 103 DISALLOW_COPY_AND_ASSIGN(MockBufferedDataSource);
104 }; 104 };
105 105
106 static const int64 kFileSize = 5000000; 106 static const int64_t kFileSize = 5000000;
107 static const int64 kFarReadPosition = 4000000; 107 static const int64_t kFarReadPosition = 4000000;
108 static const int kDataSize = 1024; 108 static const int kDataSize = 1024;
109 109
110 static const char kHttpUrl[] = "http://localhost/foo.webm"; 110 static const char kHttpUrl[] = "http://localhost/foo.webm";
111 static const char kFileUrl[] = "file:///tmp/bar.webm"; 111 static const char kFileUrl[] = "file:///tmp/bar.webm";
112 static const char kHttpDifferentPathUrl[] = "http://localhost/bar.webm"; 112 static const char kHttpDifferentPathUrl[] = "http://localhost/bar.webm";
113 static const char kHttpDifferentOriginUrl[] = "http://127.0.0.1/foo.webm"; 113 static const char kHttpDifferentOriginUrl[] = "http://127.0.0.1/foo.webm";
114 114
115 class BufferedDataSourceTest : public testing::Test { 115 class BufferedDataSourceTest : public testing::Test {
116 public: 116 public:
117 BufferedDataSourceTest() 117 BufferedDataSourceTest()
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 } 217 }
218 218
219 void FinishLoading() { 219 void FinishLoading() {
220 data_source_->set_loading(false); 220 data_source_->set_loading(false);
221 loader()->didFinishLoading(url_loader(), 0, -1); 221 loader()->didFinishLoading(url_loader(), 0, -1);
222 message_loop_.RunUntilIdle(); 222 message_loop_.RunUntilIdle();
223 } 223 }
224 224
225 MOCK_METHOD1(ReadCallback, void(int size)); 225 MOCK_METHOD1(ReadCallback, void(int size));
226 226
227 void ReadAt(int64 position) { 227 void ReadAt(int64_t position) {
228 data_source_->Read(position, kDataSize, buffer_, 228 data_source_->Read(position, kDataSize, buffer_,
229 base::Bind(&BufferedDataSourceTest::ReadCallback, 229 base::Bind(&BufferedDataSourceTest::ReadCallback,
230 base::Unretained(this))); 230 base::Unretained(this)));
231 message_loop_.RunUntilIdle(); 231 message_loop_.RunUntilIdle();
232 } 232 }
233 233
234 void ExecuteMixedResponseSuccessTest(const WebURLResponse& response1, 234 void ExecuteMixedResponseSuccessTest(const WebURLResponse& response1,
235 const WebURLResponse& response2) { 235 const WebURLResponse& response2) {
236 EXPECT_CALL(host_, SetTotalBytes(kFileSize)); 236 EXPECT_CALL(host_, SetTotalBytes(kFileSize));
237 EXPECT_CALL(host_, AddBufferedByteRange(kDataSize, kDataSize * 2 - 1)); 237 EXPECT_CALL(host_, AddBufferedByteRange(kDataSize, kDataSize * 2 - 1));
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 MockWebFrameClient client_; 300 MockWebFrameClient client_;
301 WebView* view_; 301 WebView* view_;
302 WebLocalFrame* frame_; 302 WebLocalFrame* frame_;
303 303
304 StrictMock<MockBufferedDataSourceHost> host_; 304 StrictMock<MockBufferedDataSourceHost> host_;
305 base::MessageLoop message_loop_; 305 base::MessageLoop message_loop_;
306 int bytes_received_; 306 int bytes_received_;
307 307
308 private: 308 private:
309 // Used for calling BufferedDataSource::Read(). 309 // Used for calling BufferedDataSource::Read().
310 uint8 buffer_[kDataSize]; 310 uint8_t buffer_[kDataSize];
311 311
312 BufferedDataSource::Preload preload_; 312 BufferedDataSource::Preload preload_;
313 313
314 DISALLOW_COPY_AND_ASSIGN(BufferedDataSourceTest); 314 DISALLOW_COPY_AND_ASSIGN(BufferedDataSourceTest);
315 }; 315 };
316 316
317 TEST_F(BufferedDataSourceTest, Range_Supported) { 317 TEST_F(BufferedDataSourceTest, Range_Supported) {
318 InitializeWith206Response(); 318 InitializeWith206Response();
319 319
320 EXPECT_TRUE(data_source_->loading()); 320 EXPECT_TRUE(data_source_->loading());
(...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after
692 InitializeWithFileResponse(); 692 InitializeWithFileResponse();
693 693
694 EXPECT_TRUE(data_source_->loading()); 694 EXPECT_TRUE(data_source_->loading());
695 EXPECT_FALSE(data_source_->IsStreaming()); 695 EXPECT_FALSE(data_source_->IsStreaming());
696 Stop(); 696 Stop();
697 } 697 }
698 698
699 TEST_F(BufferedDataSourceTest, StopDuringRead) { 699 TEST_F(BufferedDataSourceTest, StopDuringRead) {
700 InitializeWith206Response(); 700 InitializeWith206Response();
701 701
702 uint8 buffer[256]; 702 uint8_t buffer[256];
703 data_source_->Read(0, arraysize(buffer), buffer, base::Bind( 703 data_source_->Read(0, arraysize(buffer), buffer, base::Bind(
704 &BufferedDataSourceTest::ReadCallback, base::Unretained(this))); 704 &BufferedDataSourceTest::ReadCallback, base::Unretained(this)));
705 705
706 // The outstanding read should fail before the stop callback runs. 706 // The outstanding read should fail before the stop callback runs.
707 { 707 {
708 InSequence s; 708 InSequence s;
709 EXPECT_CALL(*this, ReadCallback(media::DataSource::kReadError)); 709 EXPECT_CALL(*this, ReadCallback(media::DataSource::kReadError));
710 data_source_->Stop(); 710 data_source_->Stop();
711 } 711 }
712 message_loop_.RunUntilIdle(); 712 message_loop_.RunUntilIdle();
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
1017 // Read a bit from the beginning. 1017 // Read a bit from the beginning.
1018 ReadAt(0); 1018 ReadAt(0);
1019 EXPECT_CALL(*this, ReadCallback(kDataSize)); 1019 EXPECT_CALL(*this, ReadCallback(kDataSize));
1020 EXPECT_CALL(host_, AddBufferedByteRange(0, kDataSize - 1)); 1020 EXPECT_CALL(host_, AddBufferedByteRange(0, kDataSize - 1));
1021 ReceiveData(kDataSize); 1021 ReceiveData(kDataSize);
1022 1022
1023 EXPECT_FALSE(active_loader()); 1023 EXPECT_FALSE(active_loader());
1024 } 1024 }
1025 1025
1026 } // namespace media 1026 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698