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

Side by Side Diff: components/mus/ws/transient_windows_unittest.cc

Issue 1906623003: Convert //components/mus from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 | « components/mus/ws/test_utils.cc ('k') | components/mus/ws/user_display_manager_unittest.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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "base/macros.h" 5 #include "base/macros.h"
6 #include "base/strings/string_number_conversions.h" 6 #include "base/strings/string_number_conversions.h"
7 #include "components/mus/ws/server_window.h" 7 #include "components/mus/ws/server_window.h"
8 #include "components/mus/ws/server_window_observer.h" 8 #include "components/mus/ws/server_window_observer.h"
9 #include "components/mus/ws/test_server_window_delegate.h" 9 #include "components/mus/ws/test_server_window_delegate.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 TransientWindowsTest() {} 70 TransientWindowsTest() {}
71 ~TransientWindowsTest() override {} 71 ~TransientWindowsTest() override {}
72 72
73 private: 73 private:
74 DISALLOW_COPY_AND_ASSIGN(TransientWindowsTest); 74 DISALLOW_COPY_AND_ASSIGN(TransientWindowsTest);
75 }; 75 };
76 76
77 TEST_F(TransientWindowsTest, TransientChildren) { 77 TEST_F(TransientWindowsTest, TransientChildren) {
78 TestServerWindowDelegate server_window_delegate; 78 TestServerWindowDelegate server_window_delegate;
79 79
80 scoped_ptr<ServerWindow> parent( 80 std::unique_ptr<ServerWindow> parent(
81 CreateTestWindow(&server_window_delegate, WindowId(), nullptr)); 81 CreateTestWindow(&server_window_delegate, WindowId(), nullptr));
82 scoped_ptr<ServerWindow> w1( 82 std::unique_ptr<ServerWindow> w1(
83 CreateTestWindow(&server_window_delegate, WindowId(1, 1), parent.get())); 83 CreateTestWindow(&server_window_delegate, WindowId(1, 1), parent.get()));
84 scoped_ptr<ServerWindow> w3( 84 std::unique_ptr<ServerWindow> w3(
85 CreateTestWindow(&server_window_delegate, WindowId(1, 2), parent.get())); 85 CreateTestWindow(&server_window_delegate, WindowId(1, 2), parent.get()));
86 86
87 ServerWindow* w2 = 87 ServerWindow* w2 =
88 CreateTestWindow(&server_window_delegate, WindowId(1, 3), parent.get()); 88 CreateTestWindow(&server_window_delegate, WindowId(1, 3), parent.get());
89 89
90 // w2 is now owned by w1. 90 // w2 is now owned by w1.
91 w1->AddTransientWindow(w2); 91 w1->AddTransientWindow(w2);
92 // Stack w1 at the top (end), this should force w2 to be last (on top of w1). 92 // Stack w1 at the top (end), this should force w2 to be last (on top of w1).
93 parent->StackChildAtTop(w1.get()); 93 parent->StackChildAtTop(w1.get());
94 ASSERT_EQ(3u, parent->children().size()); 94 ASSERT_EQ(3u, parent->children().size());
95 EXPECT_EQ(w2, parent->children().back()); 95 EXPECT_EQ(w2, parent->children().back());
96 96
97 // Destroy w1, which should also destroy w3 (since it's a transient child). 97 // Destroy w1, which should also destroy w3 (since it's a transient child).
98 w1.reset(); 98 w1.reset();
99 w2 = nullptr; 99 w2 = nullptr;
100 ASSERT_EQ(1u, parent->children().size()); 100 ASSERT_EQ(1u, parent->children().size());
101 EXPECT_EQ(w3.get(), parent->children()[0]); 101 EXPECT_EQ(w3.get(), parent->children()[0]);
102 } 102 }
103 103
104 // Tests that transient children are stacked as a unit when using stack above. 104 // Tests that transient children are stacked as a unit when using stack above.
105 TEST_F(TransientWindowsTest, TransientChildrenGroupAbove) { 105 TEST_F(TransientWindowsTest, TransientChildrenGroupAbove) {
106 TestServerWindowDelegate server_window_delegate; 106 TestServerWindowDelegate server_window_delegate;
107 107
108 scoped_ptr<ServerWindow> parent( 108 std::unique_ptr<ServerWindow> parent(
109 CreateTestWindow(&server_window_delegate, WindowId(), nullptr)); 109 CreateTestWindow(&server_window_delegate, WindowId(), nullptr));
110 scoped_ptr<ServerWindow> w1( 110 std::unique_ptr<ServerWindow> w1(
111 CreateTestWindow(&server_window_delegate, WindowId(0, 1), parent.get())); 111 CreateTestWindow(&server_window_delegate, WindowId(0, 1), parent.get()));
112 112
113 ServerWindow* w11 = 113 ServerWindow* w11 =
114 CreateTestWindow(&server_window_delegate, WindowId(0, 11), parent.get()); 114 CreateTestWindow(&server_window_delegate, WindowId(0, 11), parent.get());
115 scoped_ptr<ServerWindow> w2( 115 std::unique_ptr<ServerWindow> w2(
116 CreateTestWindow(&server_window_delegate, WindowId(0, 2), parent.get())); 116 CreateTestWindow(&server_window_delegate, WindowId(0, 2), parent.get()));
117 117
118 ServerWindow* w21 = 118 ServerWindow* w21 =
119 CreateTestWindow(&server_window_delegate, WindowId(0, 21), parent.get()); 119 CreateTestWindow(&server_window_delegate, WindowId(0, 21), parent.get());
120 ServerWindow* w211 = 120 ServerWindow* w211 =
121 CreateTestWindow(&server_window_delegate, WindowId(0, 211), parent.get()); 121 CreateTestWindow(&server_window_delegate, WindowId(0, 211), parent.get());
122 ServerWindow* w212 = 122 ServerWindow* w212 =
123 CreateTestWindow(&server_window_delegate, WindowId(0, 212), parent.get()); 123 CreateTestWindow(&server_window_delegate, WindowId(0, 212), parent.get());
124 ServerWindow* w213 = 124 ServerWindow* w213 =
125 CreateTestWindow(&server_window_delegate, WindowId(0, 213), parent.get()); 125 CreateTestWindow(&server_window_delegate, WindowId(0, 213), parent.get());
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 EXPECT_EQ("1 11 2 22 21 213 211 212", ChildWindowIDsAsString(parent.get())); 186 EXPECT_EQ("1 11 2 22 21 213 211 212", ChildWindowIDsAsString(parent.get()));
187 187
188 w11->Reorder(w213, mojom::OrderDirection::ABOVE); 188 w11->Reorder(w213, mojom::OrderDirection::ABOVE);
189 EXPECT_EQ(w11, parent->children().back()); 189 EXPECT_EQ(w11, parent->children().back());
190 EXPECT_EQ("2 22 21 213 211 212 1 11", ChildWindowIDsAsString(parent.get())); 190 EXPECT_EQ("2 22 21 213 211 212 1 11", ChildWindowIDsAsString(parent.get()));
191 } 191 }
192 192
193 TEST_F(TransientWindowsTest, TransienChildGroupBelow) { 193 TEST_F(TransientWindowsTest, TransienChildGroupBelow) {
194 TestServerWindowDelegate server_window_delegate; 194 TestServerWindowDelegate server_window_delegate;
195 195
196 scoped_ptr<ServerWindow> parent( 196 std::unique_ptr<ServerWindow> parent(
197 CreateTestWindow(&server_window_delegate, WindowId(), nullptr)); 197 CreateTestWindow(&server_window_delegate, WindowId(), nullptr));
198 scoped_ptr<ServerWindow> w1( 198 std::unique_ptr<ServerWindow> w1(
199 CreateTestWindow(&server_window_delegate, WindowId(0, 1), parent.get())); 199 CreateTestWindow(&server_window_delegate, WindowId(0, 1), parent.get()));
200 200
201 ServerWindow* w11 = 201 ServerWindow* w11 =
202 CreateTestWindow(&server_window_delegate, WindowId(0, 11), parent.get()); 202 CreateTestWindow(&server_window_delegate, WindowId(0, 11), parent.get());
203 scoped_ptr<ServerWindow> w2( 203 std::unique_ptr<ServerWindow> w2(
204 CreateTestWindow(&server_window_delegate, WindowId(0, 2), parent.get())); 204 CreateTestWindow(&server_window_delegate, WindowId(0, 2), parent.get()));
205 205
206 ServerWindow* w21 = 206 ServerWindow* w21 =
207 CreateTestWindow(&server_window_delegate, WindowId(0, 21), parent.get()); 207 CreateTestWindow(&server_window_delegate, WindowId(0, 21), parent.get());
208 ServerWindow* w211 = 208 ServerWindow* w211 =
209 CreateTestWindow(&server_window_delegate, WindowId(0, 211), parent.get()); 209 CreateTestWindow(&server_window_delegate, WindowId(0, 211), parent.get());
210 ServerWindow* w212 = 210 ServerWindow* w212 =
211 CreateTestWindow(&server_window_delegate, WindowId(0, 212), parent.get()); 211 CreateTestWindow(&server_window_delegate, WindowId(0, 212), parent.get());
212 ServerWindow* w213 = 212 ServerWindow* w213 =
213 CreateTestWindow(&server_window_delegate, WindowId(0, 213), parent.get()); 213 CreateTestWindow(&server_window_delegate, WindowId(0, 213), parent.get());
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 EXPECT_EQ("1 11 2 22 21 213 211 212", ChildWindowIDsAsString(parent.get())); 271 EXPECT_EQ("1 11 2 22 21 213 211 212", ChildWindowIDsAsString(parent.get()));
272 272
273 w213->Reorder(w11, mojom::OrderDirection::BELOW); 273 w213->Reorder(w11, mojom::OrderDirection::BELOW);
274 EXPECT_EQ(w11, parent->children().back()); 274 EXPECT_EQ(w11, parent->children().back());
275 EXPECT_EQ("2 22 21 213 211 212 1 11", ChildWindowIDsAsString(parent.get())); 275 EXPECT_EQ("2 22 21 213 211 212 1 11", ChildWindowIDsAsString(parent.get()));
276 } 276 }
277 277
278 // Tests that transient windows are stacked properly when created. 278 // Tests that transient windows are stacked properly when created.
279 TEST_F(TransientWindowsTest, StackUponCreation) { 279 TEST_F(TransientWindowsTest, StackUponCreation) {
280 TestServerWindowDelegate delegate; 280 TestServerWindowDelegate delegate;
281 scoped_ptr<ServerWindow> parent( 281 std::unique_ptr<ServerWindow> parent(
282 CreateTestWindow(&delegate, WindowId(), nullptr)); 282 CreateTestWindow(&delegate, WindowId(), nullptr));
283 scoped_ptr<ServerWindow> window0( 283 std::unique_ptr<ServerWindow> window0(
284 CreateTestWindow(&delegate, WindowId(0, 1), parent.get())); 284 CreateTestWindow(&delegate, WindowId(0, 1), parent.get()));
285 scoped_ptr<ServerWindow> window1( 285 std::unique_ptr<ServerWindow> window1(
286 CreateTestWindow(&delegate, WindowId(0, 2), parent.get())); 286 CreateTestWindow(&delegate, WindowId(0, 2), parent.get()));
287 287
288 ServerWindow* window2 = 288 ServerWindow* window2 =
289 CreateTestWindow(&delegate, WindowId(0, 3), parent.get()); 289 CreateTestWindow(&delegate, WindowId(0, 3), parent.get());
290 window0->AddTransientWindow(window2); 290 window0->AddTransientWindow(window2);
291 EXPECT_EQ("1 3 2", ChildWindowIDsAsString(parent.get())); 291 EXPECT_EQ("1 3 2", ChildWindowIDsAsString(parent.get()));
292 } 292 }
293 293
294 // Tests that windows are restacked properly after a call to 294 // Tests that windows are restacked properly after a call to
295 // AddTransientWindow() or RemoveTransientWindow(). 295 // AddTransientWindow() or RemoveTransientWindow().
296 TEST_F(TransientWindowsTest, RestackUponAddOrRemoveTransientWindow) { 296 TEST_F(TransientWindowsTest, RestackUponAddOrRemoveTransientWindow) {
297 TestServerWindowDelegate delegate; 297 TestServerWindowDelegate delegate;
298 scoped_ptr<ServerWindow> parent( 298 std::unique_ptr<ServerWindow> parent(
299 CreateTestWindow(&delegate, WindowId(), nullptr)); 299 CreateTestWindow(&delegate, WindowId(), nullptr));
300 scoped_ptr<ServerWindow> windows[4]; 300 std::unique_ptr<ServerWindow> windows[4];
301 for (int i = 0; i < 4; i++) 301 for (int i = 0; i < 4; i++)
302 windows[i].reset(CreateTestWindow(&delegate, WindowId(0, i), parent.get())); 302 windows[i].reset(CreateTestWindow(&delegate, WindowId(0, i), parent.get()));
303 303
304 EXPECT_EQ("0 1 2 3", ChildWindowIDsAsString(parent.get())); 304 EXPECT_EQ("0 1 2 3", ChildWindowIDsAsString(parent.get()));
305 305
306 windows[0]->AddTransientWindow(windows[2].get()); 306 windows[0]->AddTransientWindow(windows[2].get());
307 EXPECT_EQ("0 2 1 3", ChildWindowIDsAsString(parent.get())); 307 EXPECT_EQ("0 2 1 3", ChildWindowIDsAsString(parent.get()));
308 308
309 windows[0]->AddTransientWindow(windows[3].get()); 309 windows[0]->AddTransientWindow(windows[3].get());
310 EXPECT_EQ("0 2 3 1", ChildWindowIDsAsString(parent.get())); 310 EXPECT_EQ("0 2 3 1", ChildWindowIDsAsString(parent.get()));
311 311
312 windows[0]->RemoveTransientWindow(windows[2].get()); 312 windows[0]->RemoveTransientWindow(windows[2].get());
313 EXPECT_EQ("0 3 2 1", ChildWindowIDsAsString(parent.get())); 313 EXPECT_EQ("0 3 2 1", ChildWindowIDsAsString(parent.get()));
314 314
315 windows[0]->RemoveTransientWindow(windows[3].get()); 315 windows[0]->RemoveTransientWindow(windows[3].get());
316 EXPECT_EQ("0 3 2 1", ChildWindowIDsAsString(parent.get())); 316 EXPECT_EQ("0 3 2 1", ChildWindowIDsAsString(parent.get()));
317 } 317 }
318 318
319 // Verifies TransientWindowObserver is notified appropriately. 319 // Verifies TransientWindowObserver is notified appropriately.
320 TEST_F(TransientWindowsTest, TransientWindowObserverNotified) { 320 TEST_F(TransientWindowsTest, TransientWindowObserverNotified) {
321 TestServerWindowDelegate delegate; 321 TestServerWindowDelegate delegate;
322 scoped_ptr<ServerWindow> parent( 322 std::unique_ptr<ServerWindow> parent(
323 CreateTestWindow(&delegate, WindowId(), nullptr)); 323 CreateTestWindow(&delegate, WindowId(), nullptr));
324 scoped_ptr<ServerWindow> w1( 324 std::unique_ptr<ServerWindow> w1(
325 CreateTestWindow(&delegate, WindowId(0, 1), parent.get())); 325 CreateTestWindow(&delegate, WindowId(0, 1), parent.get()));
326 326
327 TestTransientWindowObserver test_observer; 327 TestTransientWindowObserver test_observer;
328 parent->AddObserver(&test_observer); 328 parent->AddObserver(&test_observer);
329 329
330 parent->AddTransientWindow(w1.get()); 330 parent->AddTransientWindow(w1.get());
331 EXPECT_EQ(1, test_observer.add_count()); 331 EXPECT_EQ(1, test_observer.add_count());
332 EXPECT_EQ(0, test_observer.remove_count()); 332 EXPECT_EQ(0, test_observer.remove_count());
333 333
334 parent->RemoveTransientWindow(w1.get()); 334 parent->RemoveTransientWindow(w1.get());
335 EXPECT_EQ(1, test_observer.add_count()); 335 EXPECT_EQ(1, test_observer.add_count());
336 EXPECT_EQ(1, test_observer.remove_count()); 336 EXPECT_EQ(1, test_observer.remove_count());
337 337
338 parent->RemoveObserver(&test_observer); 338 parent->RemoveObserver(&test_observer);
339 } 339 }
340 340
341 } // namespace ws 341 } // namespace ws
342 } // namespace mus 342 } // namespace mus
OLDNEW
« no previous file with comments | « components/mus/ws/test_utils.cc ('k') | components/mus/ws/user_display_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698