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

Side by Side Diff: chrome/browser/media/desktop_media_list_ash_unittest.cc

Issue 2307083002: Cleanup: move WebRTC related files from chrome/browser/media to chrome/browser/media/webrtc/ (Closed)
Patch Set: Removed file wrongly resuscitated during rebase Created 4 years, 3 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/media/desktop_media_list_ash.h"
6
7 #include "ash/test/ash_test_base.h"
8 #include "base/location.h"
9 #include "base/macros.h"
10 #include "base/message_loop/message_loop.h"
11 #include "base/single_thread_task_runner.h"
12 #include "base/threading/thread_task_runner_handle.h"
13 #include "build/build_config.h"
14 #include "chrome/browser/media/desktop_media_list_observer.h"
15 #include "testing/gmock/include/gmock/gmock.h"
16 #include "testing/gtest/include/gtest/gtest.h"
17 #include "ui/aura/window.h"
18
19 int kThumbnailSize = 100;
20
21 using testing::AtLeast;
22 using testing::DoDefault;
23
24 class MockDesktopMediaListObserver : public DesktopMediaListObserver {
25 public:
26 MOCK_METHOD2(OnSourceAdded, void(DesktopMediaList* list, int index));
27 MOCK_METHOD2(OnSourceRemoved, void(DesktopMediaList* list, int index));
28 MOCK_METHOD3(OnSourceMoved,
29 void(DesktopMediaList* list, int old_index, int new_index));
30 MOCK_METHOD2(OnSourceNameChanged, void(DesktopMediaList* list, int index));
31 MOCK_METHOD2(OnSourceThumbnailChanged,
32 void(DesktopMediaList* list, int index));
33 };
34
35 class DesktopMediaListAshTest : public ash::test::AshTestBase {
36 public:
37 DesktopMediaListAshTest() {}
38 ~DesktopMediaListAshTest() override {}
39
40 void CreateList(int source_types) {
41 list_.reset(new DesktopMediaListAsh(source_types));
42 list_->SetThumbnailSize(gfx::Size(kThumbnailSize, kThumbnailSize));
43
44 // Set update period to reduce the time it takes to run tests.
45 list_->SetUpdatePeriod(base::TimeDelta::FromMilliseconds(1));
46 }
47
48 protected:
49 MockDesktopMediaListObserver observer_;
50 std::unique_ptr<DesktopMediaListAsh> list_;
51 DISALLOW_COPY_AND_ASSIGN(DesktopMediaListAshTest);
52 };
53
54 ACTION(QuitMessageLoop) {
55 base::ThreadTaskRunnerHandle::Get()->PostTask(
56 FROM_HERE, base::MessageLoop::QuitWhenIdleClosure());
57 }
58
59 TEST_F(DesktopMediaListAshTest, Screen) {
60 CreateList(DesktopMediaListAsh::SCREENS | DesktopMediaListAsh::WINDOWS);
61
62 EXPECT_CALL(observer_, OnSourceAdded(list_.get(), 0));
63 EXPECT_CALL(observer_, OnSourceThumbnailChanged(list_.get(), 0))
64 .WillOnce(QuitMessageLoop())
65 .WillRepeatedly(DoDefault());
66 list_->StartUpdating(&observer_);
67 base::MessageLoop::current()->Run();
68 }
69
70 TEST_F(DesktopMediaListAshTest, OneWindow) {
71 CreateList(DesktopMediaListAsh::SCREENS | DesktopMediaListAsh::WINDOWS);
72
73 std::unique_ptr<aura::Window> window(CreateTestWindowInShellWithId(0));
74
75 EXPECT_CALL(observer_, OnSourceAdded(list_.get(), 0));
76 EXPECT_CALL(observer_, OnSourceAdded(list_.get(), 1));
77 EXPECT_CALL(observer_, OnSourceThumbnailChanged(list_.get(), 0))
78 .Times(AtLeast(1));
79 EXPECT_CALL(observer_, OnSourceThumbnailChanged(list_.get(), 1))
80 .WillOnce(QuitMessageLoop())
81 .WillRepeatedly(DoDefault());
82 EXPECT_CALL(observer_, OnSourceRemoved(list_.get(), 1))
83 .WillOnce(QuitMessageLoop());
84
85 list_->StartUpdating(&observer_);
86 base::MessageLoop::current()->Run();
87 window.reset();
88 base::MessageLoop::current()->Run();
89 }
90
91 TEST_F(DesktopMediaListAshTest, ScreenOnly) {
92 CreateList(DesktopMediaListAsh::SCREENS);
93
94 std::unique_ptr<aura::Window> window(CreateTestWindowInShellWithId(0));
95
96 EXPECT_CALL(observer_, OnSourceAdded(list_.get(), 0));
97 EXPECT_CALL(observer_, OnSourceThumbnailChanged(list_.get(), 0))
98 .WillOnce(QuitMessageLoop())
99 .WillRepeatedly(DoDefault());
100
101 list_->StartUpdating(&observer_);
102 base::MessageLoop::current()->Run();
103 }
104
105 // Times out on Win DrMemory bot. http://crbug.com/493187
106 #if defined(OS_WIN)
107 #define MAYBE_WindowOnly DISABLED_WindowOnly
108 #else
109 #define MAYBE_WindowOnly WindowOnly
110 #endif
111
112 TEST_F(DesktopMediaListAshTest, MAYBE_WindowOnly) {
113 CreateList(DesktopMediaListAsh::WINDOWS);
114
115 std::unique_ptr<aura::Window> window(CreateTestWindowInShellWithId(0));
116
117 EXPECT_CALL(observer_, OnSourceAdded(list_.get(), 0));
118 EXPECT_CALL(observer_, OnSourceThumbnailChanged(list_.get(), 0))
119 .WillOnce(QuitMessageLoop())
120 .WillRepeatedly(DoDefault());
121 EXPECT_CALL(observer_, OnSourceRemoved(list_.get(), 0))
122 .WillOnce(QuitMessageLoop());
123
124 list_->StartUpdating(&observer_);
125 base::MessageLoop::current()->Run();
126 window.reset();
127 base::MessageLoop::current()->Run();
128 }
OLDNEW
« no previous file with comments | « chrome/browser/media/desktop_media_list_ash.cc ('k') | chrome/browser/media/desktop_media_list_base.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698