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

Side by Side Diff: athena/wm/window_list_provider_impl_unittest.cc

Issue 574113004: [Athena] Fix switching activities by swiping from the right bezel (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@athena_split
Patch Set: Created 6 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
« no previous file with comments | « athena/wm/window_list_provider_impl.cc ('k') | athena/wm/window_manager_impl.h » ('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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "athena/wm/window_list_provider_impl.h" 5 #include "athena/wm/window_list_provider_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "athena/test/athena_test_base.h" 9 #include "athena/test/athena_test_base.h"
10 #include "athena/wm/public/window_list_provider_observer.h" 10 #include "athena/wm/public/window_list_provider_observer.h"
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 container->AddChild(window3.get()); 199 container->AddChild(window3.get());
200 // Make a copy of the window-list in the original order. 200 // Make a copy of the window-list in the original order.
201 aura::Window::Windows original_order = list_provider->GetWindowList(); 201 aura::Window::Windows original_order = list_provider->GetWindowList();
202 ASSERT_EQ(3U, original_order.size()); 202 ASSERT_EQ(3U, original_order.size());
203 EXPECT_EQ(original_order[0], window1.get()); 203 EXPECT_EQ(original_order[0], window1.get());
204 EXPECT_EQ(original_order[1], window2.get()); 204 EXPECT_EQ(original_order[1], window2.get());
205 EXPECT_EQ(original_order[2], window3.get()); 205 EXPECT_EQ(original_order[2], window3.get());
206 206
207 EXPECT_EQ(0, observer.get()->calls()); 207 EXPECT_EQ(0, observer.get()->calls());
208 208
209 // Move 2 to the front. 209 // Move 1 (from the back) in front of 2.
210 list_provider->MoveToFront(window2.get()); 210 list_provider->StackWindowFrontOf(window1.get(), window2.get());
211 EXPECT_EQ("1 3 2", GetWindowOrder(original_order, 211 EXPECT_EQ("2 1 3", GetWindowOrder(original_order,
212 list_provider->GetWindowList())); 212 list_provider->GetWindowList()));
213 EXPECT_EQ(1, observer->calls()); 213 EXPECT_EQ(1, observer->calls());
214 214
215 // Move 2 to the front again. Should not change anything. 215 // Move 3 (from the front) in front of 2.
216 list_provider->MoveToFront(window2.get()); 216 list_provider->StackWindowFrontOf(window3.get(), window2.get());
217 EXPECT_EQ("1 3 2", GetWindowOrder(original_order, 217 EXPECT_EQ("2 3 1", GetWindowOrder(original_order,
218 list_provider->GetWindowList())); 218 list_provider->GetWindowList()));
219 EXPECT_EQ(1, observer->calls()); 219 EXPECT_EQ(2, observer->calls());
220
221 // Move 1 (from the front) behind 2.
222 list_provider->StackWindowBehindTo(window1.get(), window2.get());
223 EXPECT_EQ("1 2 3", GetWindowOrder(original_order,
224 list_provider->GetWindowList()));
225 EXPECT_EQ(3, observer->calls());
220 226
221 // Move 1 (from the back) in front of 3. 227 // Move 1 (from the back) in front of 3.
222 list_provider->StackWindowFrontOf(window1.get(), window3.get()); 228 list_provider->StackWindowFrontOf(window1.get(), window3.get());
223 EXPECT_EQ("3 1 2", GetWindowOrder(original_order, 229 EXPECT_EQ("2 3 1", GetWindowOrder(original_order,
224 list_provider->GetWindowList()));
225 EXPECT_EQ(2, observer->calls());
226
227 // Move 2 (from the front) in front of 3.
228 list_provider->StackWindowFrontOf(window2.get(), window3.get());
229 EXPECT_EQ("3 2 1", GetWindowOrder(original_order,
230 list_provider->GetWindowList()));
231 EXPECT_EQ(3, observer->calls());
232
233 // Move 1 (from the front) behind 3.
234 list_provider->StackWindowBehindTo(window1.get(), window3.get());
235 EXPECT_EQ("1 3 2", GetWindowOrder(original_order,
236 list_provider->GetWindowList())); 230 list_provider->GetWindowList()));
237 EXPECT_EQ(4, observer->calls()); 231 EXPECT_EQ(4, observer->calls());
238 232
239 // Move 1 (from the back) in front of 2. 233 // Test that no change should also report no call.
240 list_provider->StackWindowFrontOf(window1.get(), window2.get()); 234 list_provider->StackWindowFrontOf(window1.get(), window3.get());
241 EXPECT_EQ("3 2 1", GetWindowOrder(original_order, 235 EXPECT_EQ("2 3 1", GetWindowOrder(original_order,
242 list_provider->GetWindowList())); 236 list_provider->GetWindowList()));
243 EXPECT_EQ(5, observer->calls()); 237 EXPECT_EQ(4, observer->calls());
244 238 list_provider->StackWindowBehindTo(window3.get(), window1.get());
245 // Test that no change should also report no call. 239 EXPECT_EQ("2 3 1", GetWindowOrder(original_order,
246 list_provider->StackWindowFrontOf(window1.get(), window2.get());
247 EXPECT_EQ("3 2 1", GetWindowOrder(original_order,
248 list_provider->GetWindowList())); 240 list_provider->GetWindowList()));
249 EXPECT_EQ(5, observer->calls()); 241 EXPECT_EQ(4, observer->calls());
250 list_provider->StackWindowBehindTo(window2.get(), window1.get());
251 EXPECT_EQ("3 2 1", GetWindowOrder(original_order,
252 list_provider->GetWindowList()));
253 EXPECT_EQ(5, observer->calls());
254 } 242 }
255 243
256 TEST_F(WindowListProviderImplTest, TestWindowRemovalNotification) { 244 TEST_F(WindowListProviderImplTest, TestWindowRemovalNotification) {
257 aura::test::TestWindowDelegate delegate; 245 aura::test::TestWindowDelegate delegate;
258 scoped_ptr<aura::Window> container(new aura::Window(&delegate)); 246 scoped_ptr<aura::Window> container(new aura::Window(&delegate));
259 247
260 scoped_ptr<aura::Window> window1 = 248 scoped_ptr<aura::Window> window1 =
261 CreateWindow(&delegate, ui::wm::WINDOW_TYPE_NORMAL); 249 CreateWindow(&delegate, ui::wm::WINDOW_TYPE_NORMAL);
262 scoped_ptr<aura::Window> window2 = 250 scoped_ptr<aura::Window> window2 =
263 CreateWindow(&delegate, ui::wm::WINDOW_TYPE_NORMAL); 251 CreateWindow(&delegate, ui::wm::WINDOW_TYPE_NORMAL);
(...skipping 29 matching lines...) Expand all
293 window1.reset(); 281 window1.reset();
294 ASSERT_EQ(1U, list_provider->GetWindowList().size()); 282 ASSERT_EQ(1U, list_provider->GetWindowList().size());
295 EXPECT_EQ(2, observer->window_removal_calls()); 283 EXPECT_EQ(2, observer->window_removal_calls());
296 284
297 window3.reset(); 285 window3.reset();
298 ASSERT_EQ(0U, list_provider->GetWindowList().size()); 286 ASSERT_EQ(0U, list_provider->GetWindowList().size());
299 EXPECT_EQ(3, observer->window_removal_calls()); 287 EXPECT_EQ(3, observer->window_removal_calls());
300 } 288 }
301 289
302 } // namespace athena 290 } // namespace athena
OLDNEW
« no previous file with comments | « athena/wm/window_list_provider_impl.cc ('k') | athena/wm/window_manager_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698