| Index: media/audio/audio_input_unittest.cc
|
| diff --git a/media/audio/audio_input_unittest.cc b/media/audio/audio_input_unittest.cc
|
| index abb47ce955be1299d5fcd201869e11981120bcfa..5d3ce9f4f2896f79ddece1b7cac16d0b448b46f6 100644
|
| --- a/media/audio/audio_input_unittest.cc
|
| +++ b/media/audio/audio_input_unittest.cc
|
| @@ -7,10 +7,9 @@
|
| #include "base/bind.h"
|
| #include "base/environment.h"
|
| #include "base/macros.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/message_loop/message_loop.h"
|
| #include "base/run_loop.h"
|
| -#include "base/synchronization/waitable_event.h"
|
| +#include "base/test/test_message_loop.h"
|
| +#include "base/thread_task_runner_handle.h"
|
| #include "base/threading/platform_thread.h"
|
| #include "build/build_config.h"
|
| #include "media/audio/audio_io.h"
|
| @@ -50,16 +49,16 @@ class TestInputCallback : public AudioInputStream::AudioInputCallback {
|
| };
|
|
|
| class AudioInputTest : public testing::Test {
|
| - public:
|
| - AudioInputTest() :
|
| - message_loop_(base::MessageLoop::TYPE_UI),
|
| - audio_manager_(AudioManager::CreateForTesting()),
|
| - audio_input_stream_(NULL) {
|
| - // Wait for the AudioManager to finish any initialization on the audio loop.
|
| + public:
|
| + AudioInputTest()
|
| + : message_loop_(base::MessageLoop::TYPE_UI),
|
| + audio_manager_(AudioManager::CreateForTesting(
|
| + base::ThreadTaskRunnerHandle::Get())),
|
| + audio_input_stream_(NULL) {
|
| base::RunLoop().RunUntilIdle();
|
| }
|
|
|
| - ~AudioInputTest() override { base::RunLoop().RunUntilIdle(); }
|
| + ~AudioInputTest() override {}
|
|
|
| protected:
|
| bool InputDevicesAvailable() {
|
| @@ -144,29 +143,12 @@ class AudioInputTest : public testing::Test {
|
|
|
| // Synchronously runs the provided callback/closure on the audio thread.
|
| void RunOnAudioThread(const base::Closure& closure) {
|
| - if (!audio_manager_->GetTaskRunner()->BelongsToCurrentThread()) {
|
| - base::WaitableEvent event(false, false);
|
| - audio_manager_->GetTaskRunner()->PostTask(
|
| - FROM_HERE,
|
| - base::Bind(&AudioInputTest::RunOnAudioThreadImpl,
|
| - base::Unretained(this),
|
| - closure,
|
| - &event));
|
| - event.Wait();
|
| - } else {
|
| - closure.Run();
|
| - }
|
| - }
|
| -
|
| - void RunOnAudioThreadImpl(const base::Closure& closure,
|
| - base::WaitableEvent* event) {
|
| DCHECK(audio_manager_->GetTaskRunner()->BelongsToCurrentThread());
|
| closure.Run();
|
| - event->Signal();
|
| }
|
|
|
| - base::MessageLoop message_loop_;
|
| - scoped_ptr<AudioManager> audio_manager_;
|
| + base::TestMessageLoop message_loop_;
|
| + ScopedAudioManagerPtr audio_manager_;
|
| AudioInputStream* audio_input_stream_;
|
|
|
| private:
|
| @@ -222,10 +204,11 @@ TEST_F(AudioInputTest, MAYBE_Record) {
|
| TestInputCallback test_callback;
|
| OpenAndStartAudioInputStreamOnAudioThread(&test_callback);
|
|
|
| - message_loop_.PostDelayedTask(FROM_HERE,
|
| - base::MessageLoop::QuitWhenIdleClosure(),
|
| - base::TimeDelta::FromMilliseconds(500));
|
| - message_loop_.Run();
|
| + base::RunLoop run_loop;
|
| + base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
|
| + FROM_HERE, run_loop.QuitClosure(),
|
| + base::TimeDelta::FromMilliseconds(500));
|
| + run_loop.Run();
|
| EXPECT_GE(test_callback.callback_count(), 2);
|
| EXPECT_FALSE(test_callback.had_error());
|
|
|
|
|