Index: content/browser/renderer_host/media/audio_input_device_manager_unittest.cc |
diff --git a/content/browser/renderer_host/media/audio_input_device_manager_unittest.cc b/content/browser/renderer_host/media/audio_input_device_manager_unittest.cc |
index fe57150d6747de15616b50c29d8ad9b4a1fd0b82..5e5719fc9a42ad2f869270e525f3d8b9f10b3354 100644 |
--- a/content/browser/renderer_host/media/audio_input_device_manager_unittest.cc |
+++ b/content/browser/renderer_host/media/audio_input_device_manager_unittest.cc |
@@ -8,13 +8,17 @@ |
#include "base/memory/ref_counted.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/message_loop.h" |
+#include "content/browser/browser_main_loop.h" |
#include "content/browser/browser_thread_impl.h" |
#include "content/browser/renderer_host/media/audio_input_device_manager.h" |
#include "content/browser/renderer_host/media/audio_input_device_manager_event_handler.h" |
+#include "content/public/common/content_switches.h" |
+#include "content/public/common/main_function_params.h" |
#include "media/audio/audio_manager_base.h" |
#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
+using content::BrowserMainLoop; |
using content::BrowserThread; |
using content::BrowserThreadImpl; |
using media_stream::AudioInputDeviceManager; |
@@ -88,26 +92,31 @@ ACTION_P(ExitMessageLoop, message_loop) { |
class AudioInputDeviceManagerTest : public testing::Test { |
public: |
AudioInputDeviceManagerTest() |
- : message_loop_(), |
- io_thread_(), |
+ : io_thread_(), |
manager_(), |
audio_input_listener_() { |
} |
- // Returns true iff machine has an audio input device. |
+ // Returns true if machine has an audio input device. |
tommi (sloooow) - chröme
2012/07/02 13:36:36
I don't think that 'iff' was a typo if that's what
no longer working on chromium
2012/07/04 12:35:25
Good to know, thanks.
Done.
|
bool CanRunAudioInputDeviceTests() { |
- return audio_manager_->HasAudioInputDevices(); |
+ return BrowserMainLoop::GetAudioManager()->HasAudioInputDevices(); |
} |
protected: |
virtual void SetUp() { |
tommi (sloooow) - chröme
2012/07/02 13:36:36
OVERRIDE?
no longer working on chromium
2012/07/04 12:35:25
Done.
|
+ CommandLine command_line = CommandLine(CommandLine::NO_PROGRAM); |
+ content::MainFunctionParams params_= |
+ content::MainFunctionParams(command_line); |
+ main_loop_.reset(new content::BrowserMainLoop(params_)); |
+ main_loop_->Init(); |
+ main_loop_->MainMessageLoopStart(); |
+ |
// The test must run on Browser::IO. |
- message_loop_.reset(new MessageLoop(MessageLoop::TYPE_IO)); |
io_thread_.reset(new BrowserThreadImpl(BrowserThread::IO, |
- message_loop_.get())); |
- audio_manager_.reset(media::AudioManager::Create()); |
+ MessageLoop::current())); |
- manager_ = new AudioInputDeviceManager(audio_manager_.get()); |
+ manager_ = new AudioInputDeviceManager( |
+ MessageLoop::current()->message_loop_proxy()); |
audio_input_listener_.reset(new MockAudioInputDeviceManagerListener()); |
manager_->Register(audio_input_listener_.get()); |
@@ -116,8 +125,8 @@ class AudioInputDeviceManagerTest : public testing::Test { |
EXPECT_CALL(*audio_input_listener_, DevicesEnumerated(_)) |
.Times(1); |
- // Waits for the callback. |
- message_loop_->RunAllPending(); |
+ // Wait until we get the list. |
+ MessageLoop::current()->RunAllPending(); |
} |
virtual void TearDown() { |
@@ -125,11 +134,11 @@ class AudioInputDeviceManagerTest : public testing::Test { |
io_thread_.reset(); |
} |
- scoped_ptr<MessageLoop> message_loop_; |
scoped_ptr<BrowserThreadImpl> io_thread_; |
scoped_refptr<AudioInputDeviceManager> manager_; |
scoped_ptr<MockAudioInputDeviceManagerListener> audio_input_listener_; |
scoped_ptr<media::AudioManager> audio_manager_; |
+ scoped_ptr<content::BrowserMainLoop> main_loop_; |
private: |
DISALLOW_COPY_AND_ASSIGN(AudioInputDeviceManagerTest); |
@@ -161,8 +170,7 @@ TEST_F(AudioInputDeviceManagerTest, OpenAndCloseDevice) { |
session_id)) |
.Times(1); |
- // Waits for the callback. |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
} |
} |
@@ -192,8 +200,7 @@ TEST_F(AudioInputDeviceManagerTest, OpenMultipleDevices) { |
session_id[index])) |
.Times(1); |
- // Waits for the callback. |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
} |
// Checks if the session_ids are unique. |
@@ -211,8 +218,7 @@ TEST_F(AudioInputDeviceManagerTest, OpenMultipleDevices) { |
session_id[i])) |
.Times(1); |
- // Waits for the callback. |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
} |
} |
@@ -233,8 +239,7 @@ TEST_F(AudioInputDeviceManagerTest, OpenNotExistingDevice) { |
session_id)) |
.Times(1); |
- // Waits for the callback. |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
} |
// Opens default device twice. |
@@ -273,8 +278,7 @@ TEST_F(AudioInputDeviceManagerTest, OpenDeviceTwice) { |
second_session_id)) |
.Times(1); |
- // Waits for the callback. |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
} |
// Starts and closes the sessions after opening the devices. |
@@ -293,7 +297,7 @@ TEST_F(AudioInputDeviceManagerTest, StartAndStopSession) { |
// Creates the EventHandler for the sessions. |
scoped_ptr<MockAudioInputDeviceManagerEventHandler> |
audio_input_event_handler( |
- new MockAudioInputDeviceManagerEventHandler(message_loop_.get())); |
+ new MockAudioInputDeviceManagerEventHandler(MessageLoop::current())); |
// Loops through the devices and calls Open()/Start()/Stop()/Close() for |
// each device. |
@@ -307,13 +311,13 @@ TEST_F(AudioInputDeviceManagerTest, StartAndStopSession) { |
Opened(content::MEDIA_STREAM_DEVICE_TYPE_AUDIO_CAPTURE, |
session_id[index])) |
.Times(1); |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
manager_->Start(session_id[index], audio_input_event_handler.get()); |
EXPECT_CALL(*audio_input_event_handler, |
DeviceStarted(session_id[index], iter->device_id)) |
.Times(1); |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
manager_->Stop(session_id[index]); |
manager_->Close(session_id[index]); |
@@ -321,7 +325,7 @@ TEST_F(AudioInputDeviceManagerTest, StartAndStopSession) { |
Closed(content::MEDIA_STREAM_DEVICE_TYPE_AUDIO_CAPTURE, |
session_id[index])) |
.Times(1); |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
} |
} |
@@ -341,7 +345,7 @@ TEST_F(AudioInputDeviceManagerTest, CloseWithoutStopSession) { |
// Creates the EventHandlers for the sessions. |
scoped_ptr<MockAudioInputDeviceManagerEventHandler> |
audio_input_event_handler( |
- new MockAudioInputDeviceManagerEventHandler(message_loop_.get())); |
+ new MockAudioInputDeviceManagerEventHandler(MessageLoop::current())); |
// Loop through the devices, and calls Open()/Start()/Close() for the devices. |
// Note that we do not call stop. |
@@ -354,13 +358,13 @@ TEST_F(AudioInputDeviceManagerTest, CloseWithoutStopSession) { |
Opened(content::MEDIA_STREAM_DEVICE_TYPE_AUDIO_CAPTURE, |
session_id[index])) |
.Times(1); |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
manager_->Start(session_id[index], audio_input_event_handler.get()); |
EXPECT_CALL(*audio_input_event_handler, |
DeviceStarted(session_id[index], iter->device_id)) |
.Times(1); |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
// Event Handler should get a stop device notification as no stop is called |
// before closing the device. |
@@ -372,7 +376,7 @@ TEST_F(AudioInputDeviceManagerTest, CloseWithoutStopSession) { |
Closed(content::MEDIA_STREAM_DEVICE_TYPE_AUDIO_CAPTURE, |
session_id[index])) |
.Times(1); |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
} |
} |
@@ -388,10 +392,10 @@ TEST_F(AudioInputDeviceManagerTest, StartDeviceTwice) { |
// Create one EventHandler for each session. |
scoped_ptr<MockAudioInputDeviceManagerEventHandler> |
first_event_handler( |
- new MockAudioInputDeviceManagerEventHandler(message_loop_.get())); |
+ new MockAudioInputDeviceManagerEventHandler(MessageLoop::current())); |
scoped_ptr<MockAudioInputDeviceManagerEventHandler> |
second_event_handler( |
- new MockAudioInputDeviceManagerEventHandler(message_loop_.get())); |
+ new MockAudioInputDeviceManagerEventHandler(MessageLoop::current())); |
// Open the default device twice. |
StreamDeviceInfoArray::const_iterator iter = |
@@ -407,7 +411,7 @@ TEST_F(AudioInputDeviceManagerTest, StartDeviceTwice) { |
Opened(content::MEDIA_STREAM_DEVICE_TYPE_AUDIO_CAPTURE, |
second_session_id)) |
.Times(1); |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
// Calls Start()/Stop()/Close() for the default device twice. |
manager_->Start(first_session_id, first_event_handler.get()); |
@@ -420,7 +424,7 @@ TEST_F(AudioInputDeviceManagerTest, StartDeviceTwice) { |
DeviceStarted(second_session_id, |
media::AudioManagerBase::kDefaultDeviceId)) |
.Times(1); |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
manager_->Stop(first_session_id); |
manager_->Stop(second_session_id); |
@@ -434,7 +438,7 @@ TEST_F(AudioInputDeviceManagerTest, StartDeviceTwice) { |
Closed(content::MEDIA_STREAM_DEVICE_TYPE_AUDIO_CAPTURE, |
second_session_id)) |
.Times(1); |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
} |
// Starts an invalid session. |
@@ -446,7 +450,7 @@ TEST_F(AudioInputDeviceManagerTest, StartInvalidSession) { |
// Creates the EventHandlers for the sessions. |
scoped_ptr<MockAudioInputDeviceManagerEventHandler> |
audio_input_event_handler( |
- new MockAudioInputDeviceManagerEventHandler(message_loop_.get())); |
+ new MockAudioInputDeviceManagerEventHandler(MessageLoop::current())); |
// Opens the first device. |
StreamDeviceInfoArray::const_iterator iter = |
@@ -456,7 +460,7 @@ TEST_F(AudioInputDeviceManagerTest, StartInvalidSession) { |
Opened(content::MEDIA_STREAM_DEVICE_TYPE_AUDIO_CAPTURE, |
session_id)) |
.Times(1); |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
// Starts a non-opened device. |
// This should fail and trigger error code 'kDeviceNotAvailable'. |
@@ -466,14 +470,14 @@ TEST_F(AudioInputDeviceManagerTest, StartInvalidSession) { |
DeviceStarted(invalid_session_id, |
AudioInputDeviceManager::kInvalidDeviceId)) |
.Times(1); |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
manager_->Close(session_id); |
EXPECT_CALL(*audio_input_listener_, |
Closed(content::MEDIA_STREAM_DEVICE_TYPE_AUDIO_CAPTURE, |
session_id)) |
.Times(1); |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
} |
// Starts a session twice, the first time should succeed, while the second |
@@ -486,7 +490,7 @@ TEST_F(AudioInputDeviceManagerTest, StartSessionTwice) { |
// Creates the EventHandlers for the sessions. |
scoped_ptr<MockAudioInputDeviceManagerEventHandler> |
audio_input_event_handler( |
- new MockAudioInputDeviceManagerEventHandler(message_loop_.get())); |
+ new MockAudioInputDeviceManagerEventHandler(MessageLoop::current())); |
// Opens the first device. |
StreamDeviceInfoArray::const_iterator iter = |
@@ -496,7 +500,7 @@ TEST_F(AudioInputDeviceManagerTest, StartSessionTwice) { |
Opened(content::MEDIA_STREAM_DEVICE_TYPE_AUDIO_CAPTURE, |
session_id)) |
.Times(1); |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
// Starts the session, it should succeed. |
manager_->Start(session_id, audio_input_event_handler.get()); |
@@ -504,7 +508,7 @@ TEST_F(AudioInputDeviceManagerTest, StartSessionTwice) { |
DeviceStarted(session_id, |
media::AudioManagerBase::kDefaultDeviceId)) |
.Times(1); |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
// Starts the session for the second time, it should fail. |
manager_->Start(session_id, audio_input_event_handler.get()); |
@@ -519,7 +523,7 @@ TEST_F(AudioInputDeviceManagerTest, StartSessionTwice) { |
Closed(content::MEDIA_STREAM_DEVICE_TYPE_AUDIO_CAPTURE, |
session_id)) |
.Times(1); |
- message_loop_->RunAllPending(); |
+ MessageLoop::current()->RunAllPending(); |
} |
} // namespace media_stream |