Index: content/browser/renderer_host/media/media_stream_manager_unittest.cc |
diff --git a/content/browser/renderer_host/media/media_stream_manager_unittest.cc b/content/browser/renderer_host/media/media_stream_manager_unittest.cc |
index b800d7504dee46e909ba9430cbec1eb3c8302687..ac6f722aa91ede2fb5ba4b352e041cc7a16555be 100644 |
--- a/content/browser/renderer_host/media/media_stream_manager_unittest.cc |
+++ b/content/browser/renderer_host/media/media_stream_manager_unittest.cc |
@@ -6,10 +6,12 @@ |
#include "base/bind.h" |
#include "base/message_loop.h" |
+#include "base/run_loop.h" |
#include "content/browser/browser_thread_impl.h" |
#include "content/browser/renderer_host/media/media_stream_manager.h" |
#include "content/browser/renderer_host/media/media_stream_ui_proxy.h" |
#include "content/common/media/media_stream_options.h" |
+#include "content/public/test/test_browser_thread_bundle.h" |
#include "media/audio/audio_manager_base.h" |
#if defined(OS_ANDROID) |
#include "media/audio/android/audio_manager_android.h" |
@@ -62,26 +64,9 @@ class MockAudioManager : public AudioManagerPlatform { |
class MediaStreamManagerTest : public ::testing::Test { |
public: |
- MediaStreamManagerTest() {} |
- |
- MOCK_METHOD1(Response, void(int index)); |
- void ResponseCallback(int index, |
- const MediaStreamDevices& devices, |
- scoped_ptr<MediaStreamUIProxy> ui_proxy) { |
- Response(index); |
- message_loop_->PostTask(FROM_HERE, base::MessageLoop::QuitClosure()); |
- } |
- |
- void WaitForResult() { message_loop_->Run(); } |
- |
- protected: |
- virtual void SetUp() { |
- message_loop_.reset(new base::MessageLoop(base::MessageLoop::TYPE_IO)); |
- ui_thread_.reset(new BrowserThreadImpl(BrowserThread::UI, |
- message_loop_.get())); |
- io_thread_.reset(new BrowserThreadImpl(BrowserThread::IO, |
- message_loop_.get())); |
- |
+ MediaStreamManagerTest() |
+ : thread_bundle_(content::TestBrowserThreadBundle::IO_MAINLOOP), |
+ message_loop_(base::MessageLoopProxy::current()) { |
// Create our own MediaStreamManager. |
audio_manager_.reset(new MockAudioManager()); |
media_stream_manager_.reset(new MediaStreamManager(audio_manager_.get())); |
@@ -90,13 +75,17 @@ class MediaStreamManagerTest : public ::testing::Test { |
media_stream_manager_->UseFakeDevice(); |
} |
- virtual void TearDown() { |
- message_loop_->RunUntilIdle(); |
+ virtual ~MediaStreamManagerTest() {} |
- // Delete the IO message loop to clean up the MediaStreamManager. |
- message_loop_.reset(); |
+ MOCK_METHOD1(Response, void(int index)); |
+ void ResponseCallback(int index, |
+ const MediaStreamDevices& devices, |
+ scoped_ptr<MediaStreamUIProxy> ui_proxy) { |
+ Response(index); |
+ message_loop_->PostTask(FROM_HERE, run_loop_.QuitClosure()); |
} |
+ protected: |
std::string MakeMediaAccessRequest(int index) { |
const int render_process_id = 1; |
const int render_view_id = 1; |
@@ -113,11 +102,11 @@ class MediaStreamManagerTest : public ::testing::Test { |
callback); |
} |
- scoped_ptr<base::MessageLoop> message_loop_; |
- scoped_ptr<BrowserThreadImpl> ui_thread_; |
- scoped_ptr<BrowserThreadImpl> io_thread_; |
scoped_ptr<media::AudioManager> audio_manager_; |
scoped_ptr<MediaStreamManager> media_stream_manager_; |
+ content::TestBrowserThreadBundle thread_bundle_; |
+ scoped_refptr<base::MessageLoopProxy> message_loop_; |
+ base::RunLoop run_loop_; |
private: |
DISALLOW_COPY_AND_ASSIGN(MediaStreamManagerTest); |
@@ -128,7 +117,7 @@ TEST_F(MediaStreamManagerTest, MakeMediaAccessRequest) { |
// Expecting the callback will be triggered and quit the test. |
EXPECT_CALL(*this, Response(0)); |
- WaitForResult(); |
+ run_loop_.Run(); |
} |
TEST_F(MediaStreamManagerTest, MakeAndCancelMediaAccessRequest) { |
@@ -162,7 +151,7 @@ TEST_F(MediaStreamManagerTest, MakeMultipleRequests) { |
// value of labels. |
EXPECT_CALL(*this, Response(0)); |
EXPECT_CALL(*this, Response(1)); |
- WaitForResult(); |
+ run_loop_.Run(); |
} |
TEST_F(MediaStreamManagerTest, MakeAndCancelMultipleRequests) { |
@@ -173,7 +162,7 @@ TEST_F(MediaStreamManagerTest, MakeAndCancelMultipleRequests) { |
// Expecting the callback from the second request will be triggered and |
// quit the test. |
EXPECT_CALL(*this, Response(1)); |
- WaitForResult(); |
+ run_loop_.Run(); |
} |
} // namespace content |