| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/environment.h" | 6 #include "base/environment.h" |
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
| 8 #include "base/message_loop.h" | 8 #include "base/message_loop.h" |
| 9 #include "base/process_util.h" | 9 #include "base/process_util.h" |
| 10 #include "base/sync_socket.h" | 10 #include "base/sync_socket.h" |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 using ::testing::InSequence; | 25 using ::testing::InSequence; |
| 26 using ::testing::InvokeWithoutArgs; | 26 using ::testing::InvokeWithoutArgs; |
| 27 using ::testing::Return; | 27 using ::testing::Return; |
| 28 using ::testing::SaveArg; | 28 using ::testing::SaveArg; |
| 29 using ::testing::SetArgumentPointee; | 29 using ::testing::SetArgumentPointee; |
| 30 | 30 |
| 31 namespace content { | 31 namespace content { |
| 32 | 32 |
| 33 static const int kStreamId = 50; | 33 static const int kStreamId = 50; |
| 34 | 34 |
| 35 static const int kRenderProcessId = 42; |
| 36 |
| 35 static bool IsRunningHeadless() { | 37 static bool IsRunningHeadless() { |
| 36 scoped_ptr<base::Environment> env(base::Environment::Create()); | 38 scoped_ptr<base::Environment> env(base::Environment::Create()); |
| 37 if (env->HasVar("CHROME_HEADLESS")) | 39 if (env->HasVar("CHROME_HEADLESS")) |
| 38 return true; | 40 return true; |
| 39 return false; | 41 return false; |
| 40 } | 42 } |
| 41 | 43 |
| 42 class MockAudioRendererHost : public AudioRendererHost { | 44 class MockAudioRendererHost : public AudioRendererHost { |
| 43 public: | 45 public: |
| 44 explicit MockAudioRendererHost( | 46 explicit MockAudioRendererHost( |
| 45 media::AudioManager* audio_manager, | 47 media::AudioManager* audio_manager, |
| 46 MediaObserver* media_observer) | 48 MediaObserver* media_observer) |
| 47 : AudioRendererHost(audio_manager, media_observer), | 49 : AudioRendererHost(kRenderProcessId, audio_manager, media_observer), |
| 48 shared_memory_length_(0) { | 50 shared_memory_length_(0) { |
| 49 } | 51 } |
| 50 | 52 |
| 51 // A list of mock methods. | 53 // A list of mock methods. |
| 52 MOCK_METHOD2(OnStreamCreated, | 54 MOCK_METHOD2(OnStreamCreated, |
| 53 void(int stream_id, int length)); | 55 void(int stream_id, int length)); |
| 54 MOCK_METHOD1(OnStreamPlaying, void(int stream_id)); | 56 MOCK_METHOD1(OnStreamPlaying, void(int stream_id)); |
| 55 MOCK_METHOD1(OnStreamPaused, void(int stream_id)); | 57 MOCK_METHOD1(OnStreamPaused, void(int stream_id)); |
| 56 MOCK_METHOD1(OnStreamError, void(int stream_id)); | 58 MOCK_METHOD1(OnStreamError, void(int stream_id)); |
| 57 MOCK_METHOD2(OnStreamVolume, void(int stream_id, double volume)); | 59 MOCK_METHOD2(OnStreamVolume, void(int stream_id, double volume)); |
| (...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 OnSetAudioStreamStatus(_, kStreamId, "closed")); | 217 OnSetAudioStreamStatus(_, kStreamId, "closed")); |
| 216 | 218 |
| 217 // Send a message to AudioRendererHost to tell it we want to close the | 219 // Send a message to AudioRendererHost to tell it we want to close the |
| 218 // stream. | 220 // stream. |
| 219 host_->OnCloseStream(kStreamId); | 221 host_->OnCloseStream(kStreamId); |
| 220 message_loop_->RunUntilIdle(); | 222 message_loop_->RunUntilIdle(); |
| 221 } | 223 } |
| 222 | 224 |
| 223 void Play() { | 225 void Play() { |
| 224 EXPECT_CALL(*observer_, | 226 EXPECT_CALL(*observer_, |
| 225 OnSetAudioStreamPlaying(_, kStreamId, true)); | 227 OnSetAudioStreamPlaying(_, kStreamId, kRenderProcessId, 0, |
| 228 true)); |
| 226 EXPECT_CALL(*host_, OnStreamPlaying(kStreamId)) | 229 EXPECT_CALL(*host_, OnStreamPlaying(kStreamId)) |
| 227 .WillOnce(QuitMessageLoop(message_loop_.get())); | 230 .WillOnce(QuitMessageLoop(message_loop_.get())); |
| 228 | 231 |
| 229 host_->OnPlayStream(kStreamId); | 232 host_->OnPlayStream(kStreamId); |
| 230 message_loop_->Run(); | 233 message_loop_->Run(); |
| 231 } | 234 } |
| 232 | 235 |
| 233 void Pause() { | 236 void Pause() { |
| 234 EXPECT_CALL(*observer_, | 237 EXPECT_CALL(*observer_, |
| 235 OnSetAudioStreamPlaying(_, kStreamId, false)); | 238 OnSetAudioStreamPlaying(_, kStreamId, kRenderProcessId, 0, |
| 239 false)); |
| 236 EXPECT_CALL(*host_, OnStreamPaused(kStreamId)) | 240 EXPECT_CALL(*host_, OnStreamPaused(kStreamId)) |
| 237 .WillOnce(QuitMessageLoop(message_loop_.get())); | 241 .WillOnce(QuitMessageLoop(message_loop_.get())); |
| 238 | 242 |
| 239 host_->OnPauseStream(kStreamId); | 243 host_->OnPauseStream(kStreamId); |
| 240 message_loop_->Run(); | 244 message_loop_->Run(); |
| 241 } | 245 } |
| 242 | 246 |
| 243 void SetVolume(double volume) { | 247 void SetVolume(double volume) { |
| 244 EXPECT_CALL(*observer_, | 248 EXPECT_CALL(*observer_, |
| 245 OnSetAudioStreamVolume(_, kStreamId, volume)); | 249 OnSetAudioStreamVolume(_, kStreamId, volume)); |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 392 | 396 |
| 393 Create(); | 397 Create(); |
| 394 Play(); | 398 Play(); |
| 395 SimulateError(); | 399 SimulateError(); |
| 396 Close(); | 400 Close(); |
| 397 } | 401 } |
| 398 | 402 |
| 399 // TODO(hclam): Add tests for data conversation in low latency mode. | 403 // TODO(hclam): Add tests for data conversation in low latency mode. |
| 400 | 404 |
| 401 } // namespace content | 405 } // namespace content |
| OLD | NEW |