Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3150)

Unified Diff: chrome/browser/media/webrtc/native_desktop_media_list_unittest.cc

Issue 2867663007: Use ScopedTaskEnvironment instead of MessageLoopForUI in ViewsTestBase. (Closed)
Patch Set: self-review Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/views/toolbar/toolbar_action_view_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/media/webrtc/native_desktop_media_list_unittest.cc
diff --git a/chrome/browser/media/webrtc/native_desktop_media_list_unittest.cc b/chrome/browser/media/webrtc/native_desktop_media_list_unittest.cc
index 037db01c389f358033402f2b18a9c3699f044d27..42467a5abf170a82bb9058492bf4c6caff12cdcf 100644
--- a/chrome/browser/media/webrtc/native_desktop_media_list_unittest.cc
+++ b/chrome/browser/media/webrtc/native_desktop_media_list_unittest.cc
@@ -16,8 +16,9 @@
#include "base/single_thread_task_runner.h"
#include "base/strings/utf_string_conversions.h"
#include "base/synchronization/lock.h"
+#include "base/threading/thread_task_runner_handle.h"
#include "chrome/browser/media/webrtc/desktop_media_list_observer.h"
-#include "content/public/test/test_browser_thread.h"
+#include "content/public/test/test_browser_thread_bundle.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/webrtc/modules/desktop_capture/desktop_capturer.h"
@@ -161,15 +162,13 @@ ACTION_P2(CheckListSize, model, expected_list_size) {
EXPECT_EQ(expected_list_size, model->GetSourceCount());
}
-ACTION_P(QuitMessageLoop, message_loop) {
- message_loop->task_runner()->PostTask(
- FROM_HERE, base::MessageLoop::QuitWhenIdleClosure());
+ACTION_P2(QuitRunLoop, task_runner, run_loop) {
+ task_runner->PostTask(FROM_HERE, run_loop->QuitWhenIdleClosure());
}
class NativeDesktopMediaListTest : public views::ViewsTestBase {
public:
- NativeDesktopMediaListTest()
- : ui_thread_(content::BrowserThread::UI, message_loop()) {}
+ NativeDesktopMediaListTest() = default;
void TearDown() override {
for (size_t i = 0; i < desktop_widgets_.size(); i++)
@@ -306,6 +305,8 @@ class NativeDesktopMediaListTest : public views::ViewsTestBase {
aura_window_first_index--;
}
+ base::RunLoop run_loop;
+
{
testing::InSequence dummy;
size_t source_count = screen ? window_count + 1 : window_count;
@@ -318,10 +319,11 @@ class NativeDesktopMediaListTest : public views::ViewsTestBase {
}
EXPECT_CALL(observer_,
OnSourceThumbnailChanged(model_.get(), source_count - 1))
- .WillOnce(QuitMessageLoop(message_loop()));
+ .WillOnce(
+ QuitRunLoop(base::ThreadTaskRunnerHandle::Get(), &run_loop));
}
model_->StartUpdating(&observer_);
- base::RunLoop().Run();
+ run_loop.Run();
if (screen) {
EXPECT_EQ(model_->GetSource(0).id.type, DesktopMediaID::TYPE_SCREEN);
@@ -347,6 +349,8 @@ class NativeDesktopMediaListTest : public views::ViewsTestBase {
}
protected:
+ content::TestBrowserThreadBundle test_browser_thread_bundle_;
+
// Must be listed before |model_|, so it's destroyed last.
MockObserver observer_;
@@ -358,8 +362,6 @@ class NativeDesktopMediaListTest : public views::ViewsTestBase {
std::map<DesktopMediaID::Id, DesktopMediaID::Id> native_aura_id_map_;
std::unique_ptr<NativeDesktopMediaList> model_;
- content::TestBrowserThread ui_thread_;
-
DISALLOW_COPY_AND_ASSIGN(NativeDesktopMediaListTest);
};
@@ -380,15 +382,18 @@ TEST_F(NativeDesktopMediaListTest, Filtering) {
TEST_F(NativeDesktopMediaListTest, AddNativeWindow) {
AddWindowsAndVerify(true, kDefaultWindowCount, kDefaultAuraCount, false);
+ base::RunLoop run_loop;
+
const int index = kDefaultWindowCount + 1;
EXPECT_CALL(observer_, OnSourceAdded(model_.get(), index))
- .WillOnce(DoAll(CheckListSize(model_.get(), index + 1),
- QuitMessageLoop(message_loop())));
+ .WillOnce(
+ DoAll(CheckListSize(model_.get(), index + 1),
+ QuitRunLoop(base::ThreadTaskRunnerHandle::Get(), &run_loop)));
AddNativeWindow(index);
window_capturer_->SetWindowList(window_list_);
- base::RunLoop().Run();
+ run_loop.Run();
EXPECT_EQ(model_->GetSource(index).id.type, DesktopMediaID::TYPE_WINDOW);
EXPECT_EQ(model_->GetSource(index).id.id, index);
@@ -398,15 +403,18 @@ TEST_F(NativeDesktopMediaListTest, AddNativeWindow) {
TEST_F(NativeDesktopMediaListTest, AddAuraWindow) {
AddWindowsAndVerify(true, kDefaultWindowCount, kDefaultAuraCount, false);
+ base::RunLoop run_loop;
+
const int index = kDefaultWindowCount + 1;
EXPECT_CALL(observer_, OnSourceAdded(model_.get(), index))
- .WillOnce(DoAll(CheckListSize(model_.get(), index + 1),
- QuitMessageLoop(message_loop())));
+ .WillOnce(
+ DoAll(CheckListSize(model_.get(), index + 1),
+ QuitRunLoop(base::ThreadTaskRunnerHandle::Get(), &run_loop)));
AddAuraWindow();
window_capturer_->SetWindowList(window_list_);
- base::RunLoop().Run();
+ run_loop.Run();
int native_id = window_list_.back().id;
EXPECT_EQ(model_->GetSource(index).id.type, DesktopMediaID::TYPE_WINDOW);
@@ -419,61 +427,72 @@ TEST_F(NativeDesktopMediaListTest, AddAuraWindow) {
TEST_F(NativeDesktopMediaListTest, RemoveNativeWindow) {
AddWindowsAndVerify(true, kDefaultWindowCount, kDefaultAuraCount, false);
+ base::RunLoop run_loop;
+
EXPECT_CALL(observer_, OnSourceRemoved(model_.get(), 1))
- .WillOnce(DoAll(CheckListSize(model_.get(), kDefaultWindowCount),
- QuitMessageLoop(message_loop())));
+ .WillOnce(
+ DoAll(CheckListSize(model_.get(), kDefaultWindowCount),
+ QuitRunLoop(base::ThreadTaskRunnerHandle::Get(), &run_loop)));
window_list_.erase(window_list_.begin());
window_capturer_->SetWindowList(window_list_);
- base::RunLoop().Run();
+ run_loop.Run();
}
#if defined(ENABLE_AURA_WINDOW_TESTS)
TEST_F(NativeDesktopMediaListTest, RemoveAuraWindow) {
AddWindowsAndVerify(true, kDefaultWindowCount, kDefaultAuraCount, false);
+ base::RunLoop run_loop;
+
int aura_window_start_index = kDefaultWindowCount - kDefaultAuraCount + 1;
EXPECT_CALL(observer_, OnSourceRemoved(model_.get(), aura_window_start_index))
- .WillOnce(DoAll(CheckListSize(model_.get(), kDefaultWindowCount),
- QuitMessageLoop(message_loop())));
+ .WillOnce(
+ DoAll(CheckListSize(model_.get(), kDefaultWindowCount),
+ QuitRunLoop(base::ThreadTaskRunnerHandle::Get(), &run_loop)));
RemoveAuraWindow(0);
window_capturer_->SetWindowList(window_list_);
- base::RunLoop().Run();
+ run_loop.Run();
}
#endif // defined(ENABLE_AURA_WINDOW_TESTS)
TEST_F(NativeDesktopMediaListTest, RemoveAllWindows) {
AddWindowsAndVerify(true, kDefaultWindowCount, kDefaultAuraCount, false);
+ base::RunLoop run_loop;
+
testing::InSequence seq;
for (int i = 0; i < kDefaultWindowCount - 1; i++) {
EXPECT_CALL(observer_, OnSourceRemoved(model_.get(), 1))
.WillOnce(CheckListSize(model_.get(), kDefaultWindowCount - i));
}
EXPECT_CALL(observer_, OnSourceRemoved(model_.get(), 1))
- .WillOnce(DoAll(CheckListSize(model_.get(), 1),
- QuitMessageLoop(message_loop())));
+ .WillOnce(
+ DoAll(CheckListSize(model_.get(), 1),
+ QuitRunLoop(base::ThreadTaskRunnerHandle::Get(), &run_loop)));
window_list_.clear();
window_capturer_->SetWindowList(window_list_);
- base::RunLoop().Run();
+ run_loop.Run();
}
TEST_F(NativeDesktopMediaListTest, UpdateTitle) {
AddWindowsAndVerify(true, kDefaultWindowCount, kDefaultAuraCount, false);
+ base::RunLoop run_loop;
+
EXPECT_CALL(observer_, OnSourceNameChanged(model_.get(), 1))
- .WillOnce(QuitMessageLoop(message_loop()));
+ .WillOnce(QuitRunLoop(base::ThreadTaskRunnerHandle::Get(), &run_loop));
const std::string kTestTitle = "New Title";
window_list_[0].title = kTestTitle;
window_capturer_->SetWindowList(window_list_);
- base::RunLoop().Run();
+ run_loop.Run();
EXPECT_EQ(model_->GetSource(1).name, base::UTF8ToUTF16(kTestTitle));
}
@@ -488,24 +507,29 @@ TEST_F(NativeDesktopMediaListTest, UpdateThumbnail) {
.Times(testing::AnyNumber());
}
+ base::RunLoop run_loop;
+
EXPECT_CALL(observer_, OnSourceThumbnailChanged(model_.get(), 1))
- .WillOnce(QuitMessageLoop(message_loop()));
+ .WillOnce(QuitRunLoop(base::ThreadTaskRunnerHandle::Get(), &run_loop));
// Update frame for the window and verify that we get notification about it.
window_capturer_->SetNextFrameValue(1, 10);
- base::RunLoop().Run();
+ run_loop.Run();
}
TEST_F(NativeDesktopMediaListTest, MoveWindow) {
AddWindowsAndVerify(true, kDefaultWindowCount, kDefaultAuraCount, false);
+ base::RunLoop run_loop;
+
EXPECT_CALL(observer_, OnSourceMoved(model_.get(), 2, 1))
- .WillOnce(DoAll(CheckListSize(model_.get(), kDefaultWindowCount + 1),
- QuitMessageLoop(message_loop())));
+ .WillOnce(
+ DoAll(CheckListSize(model_.get(), kDefaultWindowCount + 1),
+ QuitRunLoop(base::ThreadTaskRunnerHandle::Get(), &run_loop)));
std::swap(window_list_[0], window_list_[1]);
window_capturer_->SetWindowList(window_list_);
- base::RunLoop().Run();
+ run_loop.Run();
}
« no previous file with comments | « no previous file | chrome/browser/ui/views/toolbar/toolbar_action_view_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698