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

Side by Side Diff: ash/shelf/shelf_window_watcher_unittest.cc

Issue 2815043002: Removes ShellPort::IsRunningInMash() (Closed)
Patch Set: dont set instance_ in constructor Created 3 years, 8 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
« no previous file with comments | « ash/shelf/shelf_window_watcher.cc ('k') | ash/shelf/wm_shelf.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ash/shelf/shelf_window_watcher.h" 5 #include "ash/shelf/shelf_window_watcher.h"
6 6
7 #include "ash/public/cpp/config.h"
7 #include "ash/public/cpp/shelf_item.h" 8 #include "ash/public/cpp/shelf_item.h"
8 #include "ash/public/cpp/shell_window_ids.h" 9 #include "ash/public/cpp/shell_window_ids.h"
9 #include "ash/public/cpp/window_properties.h" 10 #include "ash/public/cpp/window_properties.h"
10 #include "ash/root_window_controller.h" 11 #include "ash/root_window_controller.h"
11 #include "ash/session/session_controller.h" 12 #include "ash/session/session_controller.h"
12 #include "ash/shelf/shelf_model.h" 13 #include "ash/shelf/shelf_model.h"
13 #include "ash/shell.h" 14 #include "ash/shell.h"
14 #include "ash/shell_port.h" 15 #include "ash/shell_port.h"
15 #include "ash/test/ash_test_base.h" 16 #include "ash/test/ash_test_base.h"
16 #include "ash/wm/window_resizer.h" 17 #include "ash/wm/window_resizer.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 69
69 // Each ShelfItem is removed when the associated window is destroyed. 70 // Each ShelfItem is removed when the associated window is destroyed.
70 widget1.reset(); 71 widget1.reset();
71 EXPECT_EQ(2, model_->item_count()); 72 EXPECT_EQ(2, model_->item_count());
72 widget2.reset(); 73 widget2.reset();
73 EXPECT_EQ(1, model_->item_count()); 74 EXPECT_EQ(1, model_->item_count());
74 } 75 }
75 76
76 TEST_F(ShelfWindowWatcherTest, CreateAndRemoveShelfItemProperties) { 77 TEST_F(ShelfWindowWatcherTest, CreateAndRemoveShelfItemProperties) {
77 // TODO: investigate failure in mash. http://crbug.com/695562. 78 // TODO: investigate failure in mash. http://crbug.com/695562.
78 if (ShellPort::Get()->IsRunningInMash()) 79 if (Shell::GetAshConfig() == Config::MASH)
79 return; 80 return;
80 81
81 // ShelfModel only has an APP_LIST item. 82 // ShelfModel only has an APP_LIST item.
82 EXPECT_EQ(1, model_->item_count()); 83 EXPECT_EQ(1, model_->item_count());
83 84
84 // Creating windows without a valid ShelfItemType does not add items. 85 // Creating windows without a valid ShelfItemType does not add items.
85 std::unique_ptr<views::Widget> widget1 = 86 std::unique_ptr<views::Widget> widget1 =
86 CreateTestWidget(nullptr, kShellWindowId_DefaultContainer, gfx::Rect()); 87 CreateTestWidget(nullptr, kShellWindowId_DefaultContainer, gfx::Rect());
87 WmWindow* window1 = WmWindow::Get(widget1->GetNativeWindow()); 88 WmWindow* window1 = WmWindow::Get(widget1->GetNativeWindow());
88 std::unique_ptr<views::Widget> widget2 = 89 std::unique_ptr<views::Widget> widget2 =
(...skipping 23 matching lines...) Expand all
112 static_cast<int32_t>(TYPE_UNDEFINED)); 113 static_cast<int32_t>(TYPE_UNDEFINED));
113 EXPECT_EQ(1, model_->item_count()); 114 EXPECT_EQ(1, model_->item_count());
114 // Clearing twice doesn't do anything. 115 // Clearing twice doesn't do anything.
115 window2->aura_window()->SetProperty(kShelfItemTypeKey, 116 window2->aura_window()->SetProperty(kShelfItemTypeKey,
116 static_cast<int32_t>(TYPE_UNDEFINED)); 117 static_cast<int32_t>(TYPE_UNDEFINED));
117 EXPECT_EQ(1, model_->item_count()); 118 EXPECT_EQ(1, model_->item_count());
118 } 119 }
119 120
120 TEST_F(ShelfWindowWatcherTest, ActivateWindow) { 121 TEST_F(ShelfWindowWatcherTest, ActivateWindow) {
121 // TODO: investigate failure in mash. http://crbug.com/695562. 122 // TODO: investigate failure in mash. http://crbug.com/695562.
122 if (ShellPort::Get()->IsRunningInMash()) 123 if (Shell::GetAshConfig() == Config::MASH)
123 return; 124 return;
124 125
125 // ShelfModel only have APP_LIST item. 126 // ShelfModel only have APP_LIST item.
126 EXPECT_EQ(1, model_->item_count()); 127 EXPECT_EQ(1, model_->item_count());
127 std::unique_ptr<views::Widget> widget1 = 128 std::unique_ptr<views::Widget> widget1 =
128 CreateTestWidget(nullptr, kShellWindowId_DefaultContainer, gfx::Rect()); 129 CreateTestWidget(nullptr, kShellWindowId_DefaultContainer, gfx::Rect());
129 WmWindow* window1 = WmWindow::Get(widget1->GetNativeWindow()); 130 WmWindow* window1 = WmWindow::Get(widget1->GetNativeWindow());
130 std::unique_ptr<views::Widget> widget2 = 131 std::unique_ptr<views::Widget> widget2 =
131 CreateTestWidget(nullptr, kShellWindowId_DefaultContainer, gfx::Rect()); 132 CreateTestWidget(nullptr, kShellWindowId_DefaultContainer, gfx::Rect());
132 WmWindow* window2 = WmWindow::Get(widget2->GetNativeWindow()); 133 WmWindow* window2 = WmWindow::Get(widget2->GetNativeWindow());
(...skipping 17 matching lines...) Expand all
150 EXPECT_EQ(STATUS_RUNNING, model_->items()[index_w2].status); 151 EXPECT_EQ(STATUS_RUNNING, model_->items()[index_w2].status);
151 152
152 // The ShelfItem for the second window is active when the window is activated. 153 // The ShelfItem for the second window is active when the window is activated.
153 widget2->Activate(); 154 widget2->Activate();
154 EXPECT_EQ(STATUS_RUNNING, model_->items()[index_w1].status); 155 EXPECT_EQ(STATUS_RUNNING, model_->items()[index_w1].status);
155 EXPECT_EQ(STATUS_ACTIVE, model_->items()[index_w2].status); 156 EXPECT_EQ(STATUS_ACTIVE, model_->items()[index_w2].status);
156 } 157 }
157 158
158 TEST_F(ShelfWindowWatcherTest, UpdateWindowProperty) { 159 TEST_F(ShelfWindowWatcherTest, UpdateWindowProperty) {
159 // TODO: investigate failure in mash. http://crbug.com/695562. 160 // TODO: investigate failure in mash. http://crbug.com/695562.
160 if (ShellPort::Get()->IsRunningInMash()) 161 if (Shell::GetAshConfig() == Config::MASH)
161 return; 162 return;
162 163
163 // ShelfModel only has an APP_LIST item. 164 // ShelfModel only has an APP_LIST item.
164 EXPECT_EQ(1, model_->item_count()); 165 EXPECT_EQ(1, model_->item_count());
165 166
166 std::unique_ptr<views::Widget> widget = 167 std::unique_ptr<views::Widget> widget =
167 CreateTestWidget(nullptr, kShellWindowId_DefaultContainer, gfx::Rect()); 168 CreateTestWidget(nullptr, kShellWindowId_DefaultContainer, gfx::Rect());
168 WmWindow* window = WmWindow::Get(widget->GetNativeWindow()); 169 WmWindow* window = WmWindow::Get(widget->GetNativeWindow());
169 170
170 // Create a ShelfItem for |window|. 171 // Create a ShelfItem for |window|.
171 ShelfID id = CreateShelfItem(window); 172 ShelfID id = CreateShelfItem(window);
172 EXPECT_EQ(2, model_->item_count()); 173 EXPECT_EQ(2, model_->item_count());
173 174
174 int index = model_->ItemIndexByID(id); 175 int index = model_->ItemIndexByID(id);
175 EXPECT_EQ(STATUS_ACTIVE, model_->items()[index].status); 176 EXPECT_EQ(STATUS_ACTIVE, model_->items()[index].status);
176 177
177 // Update the ShelfItemType for |window|. 178 // Update the ShelfItemType for |window|.
178 window->aura_window()->SetProperty(kShelfItemTypeKey, 179 window->aura_window()->SetProperty(kShelfItemTypeKey,
179 static_cast<int32_t>(TYPE_APP)); 180 static_cast<int32_t>(TYPE_APP));
180 // No new item is created after updating a launcher item. 181 // No new item is created after updating a launcher item.
181 EXPECT_EQ(2, model_->item_count()); 182 EXPECT_EQ(2, model_->item_count());
182 // index and id are not changed after updating a launcher item. 183 // index and id are not changed after updating a launcher item.
183 EXPECT_EQ(index, model_->ItemIndexByID(id)); 184 EXPECT_EQ(index, model_->ItemIndexByID(id));
184 EXPECT_EQ(id, model_->items()[index].id); 185 EXPECT_EQ(id, model_->items()[index].id);
185 } 186 }
186 187
187 TEST_F(ShelfWindowWatcherTest, MaximizeAndRestoreWindow) { 188 TEST_F(ShelfWindowWatcherTest, MaximizeAndRestoreWindow) {
188 // TODO: investigate failure in mash. http://crbug.com/695562. 189 // TODO: investigate failure in mash. http://crbug.com/695562.
189 if (ShellPort::Get()->IsRunningInMash()) 190 if (Shell::GetAshConfig() == Config::MASH)
190 return; 191 return;
191 192
192 // ShelfModel only has an APP_LIST item. 193 // ShelfModel only has an APP_LIST item.
193 EXPECT_EQ(1, model_->item_count()); 194 EXPECT_EQ(1, model_->item_count());
194 195
195 std::unique_ptr<views::Widget> widget = 196 std::unique_ptr<views::Widget> widget =
196 CreateTestWidget(nullptr, kShellWindowId_DefaultContainer, gfx::Rect()); 197 CreateTestWidget(nullptr, kShellWindowId_DefaultContainer, gfx::Rect());
197 WmWindow* window = WmWindow::Get(widget->GetNativeWindow()); 198 WmWindow* window = WmWindow::Get(widget->GetNativeWindow());
198 wm::WindowState* window_state = window->GetWindowState(); 199 wm::WindowState* window_state = window->GetWindowState();
199 200
(...skipping 21 matching lines...) Expand all
221 EXPECT_EQ(2, model_->item_count()); 222 EXPECT_EQ(2, model_->item_count());
222 // Index and id are not changed after maximizing a window |window|. 223 // Index and id are not changed after maximizing a window |window|.
223 EXPECT_EQ(index, model_->ItemIndexByID(id)); 224 EXPECT_EQ(index, model_->ItemIndexByID(id));
224 EXPECT_EQ(id, model_->items()[index].id); 225 EXPECT_EQ(id, model_->items()[index].id);
225 } 226 }
226 227
227 // Check |window|'s item is not changed during the dragging. 228 // Check |window|'s item is not changed during the dragging.
228 // TODO(simonhong): Add a test for removing a Window during the dragging. 229 // TODO(simonhong): Add a test for removing a Window during the dragging.
229 TEST_F(ShelfWindowWatcherTest, DragWindow) { 230 TEST_F(ShelfWindowWatcherTest, DragWindow) {
230 // TODO: investigate failure in mash. http://crbug.com/695562. 231 // TODO: investigate failure in mash. http://crbug.com/695562.
231 if (ShellPort::Get()->IsRunningInMash()) 232 if (Shell::GetAshConfig() == Config::MASH)
232 return; 233 return;
233 234
234 // ShelfModel only has an APP_LIST item. 235 // ShelfModel only has an APP_LIST item.
235 EXPECT_EQ(1, model_->item_count()); 236 EXPECT_EQ(1, model_->item_count());
236 237
237 std::unique_ptr<views::Widget> widget = 238 std::unique_ptr<views::Widget> widget =
238 CreateTestWidget(nullptr, kShellWindowId_DefaultContainer, gfx::Rect()); 239 CreateTestWidget(nullptr, kShellWindowId_DefaultContainer, gfx::Rect());
239 WmWindow* window = WmWindow::Get(widget->GetNativeWindow()); 240 WmWindow* window = WmWindow::Get(widget->GetNativeWindow());
240 241
241 // Create a ShelfItem for |window|. 242 // Create a ShelfItem for |window|.
(...skipping 11 matching lines...) Expand all
253 resizer->CompleteDrag(); 254 resizer->CompleteDrag();
254 255
255 // Index and id are not changed after dragging a |window|. 256 // Index and id are not changed after dragging a |window|.
256 EXPECT_EQ(index, model_->ItemIndexByID(id)); 257 EXPECT_EQ(index, model_->ItemIndexByID(id));
257 EXPECT_EQ(id, model_->items()[index].id); 258 EXPECT_EQ(id, model_->items()[index].id);
258 } 259 }
259 260
260 // Ensure shelf items are added and removed as panels are opened and closed. 261 // Ensure shelf items are added and removed as panels are opened and closed.
261 TEST_F(ShelfWindowWatcherTest, PanelWindow) { 262 TEST_F(ShelfWindowWatcherTest, PanelWindow) {
262 // TODO: investigate failure in mash. http://crbug.com/695562. 263 // TODO: investigate failure in mash. http://crbug.com/695562.
263 if (ShellPort::Get()->IsRunningInMash()) 264 if (Shell::GetAshConfig() == Config::MASH)
264 return; 265 return;
265 266
266 // ShelfModel only has an APP_LIST item. 267 // ShelfModel only has an APP_LIST item.
267 EXPECT_EQ(1, model_->item_count()); 268 EXPECT_EQ(1, model_->item_count());
268 269
269 // Adding windows with valid ShelfItemType properties adds shelf items. 270 // Adding windows with valid ShelfItemType properties adds shelf items.
270 std::unique_ptr<views::Widget> widget1 = 271 std::unique_ptr<views::Widget> widget1 =
271 CreateTestWidget(nullptr, kShellWindowId_PanelContainer, gfx::Rect()); 272 CreateTestWidget(nullptr, kShellWindowId_PanelContainer, gfx::Rect());
272 WmWindow* window1 = WmWindow::Get(widget1->GetNativeWindow()); 273 WmWindow* window1 = WmWindow::Get(widget1->GetNativeWindow());
273 window1->aura_window()->SetProperty(kShelfItemTypeKey, 274 window1->aura_window()->SetProperty(kShelfItemTypeKey,
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 WmWindow* window = WmWindow::Get(widget->GetNativeWindow()); 349 WmWindow* window = WmWindow::Get(widget->GetNativeWindow());
349 ShelfWindowWatcherTest::CreateShelfItem(window); 350 ShelfWindowWatcherTest::CreateShelfItem(window);
350 EXPECT_EQ(1, model->item_count()); 351 EXPECT_EQ(1, model->item_count());
351 352
352 // Start the test user session; ShelfWindowWatcher will find the open window. 353 // Start the test user session; ShelfWindowWatcher will find the open window.
353 SetSessionStarted(true); 354 SetSessionStarted(true);
354 EXPECT_EQ(2, model->item_count()); 355 EXPECT_EQ(2, model->item_count());
355 } 356 }
356 357
357 } // namespace ash 358 } // namespace ash
OLDNEW
« no previous file with comments | « ash/shelf/shelf_window_watcher.cc ('k') | ash/shelf/wm_shelf.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698