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()); |