OLD | NEW |
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 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 EXPECT_EQ(w11, parent->children().back()); | 146 EXPECT_EQ(w11, parent->children().back()); |
147 EXPECT_EQ("2 21 211 212 213 22 1 11", ChildWindowIDsAsString(parent.get())); | 147 EXPECT_EQ("2 21 211 212 213 22 1 11", ChildWindowIDsAsString(parent.get())); |
148 | 148 |
149 // This tests that the order in children_ array rather than in | 149 // This tests that the order in children_ array rather than in |
150 // transient_children_ array is used when reinserting transient children. | 150 // transient_children_ array is used when reinserting transient children. |
151 // If transient_children_ array was used '22' would be following '21'. | 151 // If transient_children_ array was used '22' would be following '21'. |
152 parent->StackChildAtTop(w2.get()); | 152 parent->StackChildAtTop(w2.get()); |
153 EXPECT_EQ(w22, parent->children().back()); | 153 EXPECT_EQ(w22, parent->children().back()); |
154 EXPECT_EQ("1 11 2 21 211 212 213 22", ChildWindowIDsAsString(parent.get())); | 154 EXPECT_EQ("1 11 2 21 211 212 213 22", ChildWindowIDsAsString(parent.get())); |
155 | 155 |
156 w11->Reorder(w2.get(), mojom::ORDER_DIRECTION_ABOVE); | 156 w11->Reorder(w2.get(), mojom::OrderDirection::ABOVE); |
157 EXPECT_EQ(w11, parent->children().back()); | 157 EXPECT_EQ(w11, parent->children().back()); |
158 EXPECT_EQ("2 21 211 212 213 22 1 11", ChildWindowIDsAsString(parent.get())); | 158 EXPECT_EQ("2 21 211 212 213 22 1 11", ChildWindowIDsAsString(parent.get())); |
159 | 159 |
160 w21->Reorder(w1.get(), mojom::ORDER_DIRECTION_ABOVE); | 160 w21->Reorder(w1.get(), mojom::OrderDirection::ABOVE); |
161 EXPECT_EQ(w22, parent->children().back()); | 161 EXPECT_EQ(w22, parent->children().back()); |
162 EXPECT_EQ("1 11 2 21 211 212 213 22", ChildWindowIDsAsString(parent.get())); | 162 EXPECT_EQ("1 11 2 21 211 212 213 22", ChildWindowIDsAsString(parent.get())); |
163 | 163 |
164 w21->Reorder(w22, mojom::ORDER_DIRECTION_ABOVE); | 164 w21->Reorder(w22, mojom::OrderDirection::ABOVE); |
165 EXPECT_EQ(w213, parent->children().back()); | 165 EXPECT_EQ(w213, parent->children().back()); |
166 EXPECT_EQ("1 11 2 22 21 211 212 213", ChildWindowIDsAsString(parent.get())); | 166 EXPECT_EQ("1 11 2 22 21 211 212 213", ChildWindowIDsAsString(parent.get())); |
167 | 167 |
168 w11->Reorder(w21, mojom::ORDER_DIRECTION_ABOVE); | 168 w11->Reorder(w21, mojom::OrderDirection::ABOVE); |
169 EXPECT_EQ(w11, parent->children().back()); | 169 EXPECT_EQ(w11, parent->children().back()); |
170 EXPECT_EQ("2 22 21 211 212 213 1 11", ChildWindowIDsAsString(parent.get())); | 170 EXPECT_EQ("2 22 21 211 212 213 1 11", ChildWindowIDsAsString(parent.get())); |
171 | 171 |
172 w213->Reorder(w21, mojom::ORDER_DIRECTION_ABOVE); | 172 w213->Reorder(w21, mojom::OrderDirection::ABOVE); |
173 EXPECT_EQ(w11, parent->children().back()); | 173 EXPECT_EQ(w11, parent->children().back()); |
174 EXPECT_EQ("2 22 21 213 211 212 1 11", ChildWindowIDsAsString(parent.get())); | 174 EXPECT_EQ("2 22 21 213 211 212 1 11", ChildWindowIDsAsString(parent.get())); |
175 | 175 |
176 // No change when stacking a transient parent above its transient child. | 176 // No change when stacking a transient parent above its transient child. |
177 w21->Reorder(w211, mojom::ORDER_DIRECTION_ABOVE); | 177 w21->Reorder(w211, mojom::OrderDirection::ABOVE); |
178 EXPECT_EQ(w11, parent->children().back()); | 178 EXPECT_EQ(w11, parent->children().back()); |
179 EXPECT_EQ("2 22 21 213 211 212 1 11", ChildWindowIDsAsString(parent.get())); | 179 EXPECT_EQ("2 22 21 213 211 212 1 11", ChildWindowIDsAsString(parent.get())); |
180 | 180 |
181 // This tests that the order in children_ array rather than in | 181 // This tests that the order in children_ array rather than in |
182 // transient_children_ array is used when reinserting transient children. | 182 // transient_children_ array is used when reinserting transient children. |
183 // If transient_children_ array was used '22' would be following '21'. | 183 // If transient_children_ array was used '22' would be following '21'. |
184 w2->Reorder(w1.get(), mojom::ORDER_DIRECTION_ABOVE); | 184 w2->Reorder(w1.get(), mojom::OrderDirection::ABOVE); |
185 EXPECT_EQ(w212, parent->children().back()); | 185 EXPECT_EQ(w212, parent->children().back()); |
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::ORDER_DIRECTION_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 scoped_ptr<ServerWindow> parent( |
197 CreateTestWindow(&server_window_delegate, WindowId(), nullptr)); | 197 CreateTestWindow(&server_window_delegate, WindowId(), nullptr)); |
198 scoped_ptr<ServerWindow> w1( | 198 scoped_ptr<ServerWindow> w1( |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
234 // transient_children_ array is used when reinserting transient children. | 234 // transient_children_ array is used when reinserting transient children. |
235 // If transient_children_ array was used '22' would be following '21'. | 235 // If transient_children_ array was used '22' would be following '21'. |
236 parent->StackChildAtBottom(w2.get()); | 236 parent->StackChildAtBottom(w2.get()); |
237 EXPECT_EQ(w11, parent->children().back()); | 237 EXPECT_EQ(w11, parent->children().back()); |
238 EXPECT_EQ("2 21 211 212 213 22 1 11", ChildWindowIDsAsString(parent.get())); | 238 EXPECT_EQ("2 21 211 212 213 22 1 11", ChildWindowIDsAsString(parent.get())); |
239 | 239 |
240 parent->StackChildAtBottom(w1.get()); | 240 parent->StackChildAtBottom(w1.get()); |
241 EXPECT_EQ(w22, parent->children().back()); | 241 EXPECT_EQ(w22, parent->children().back()); |
242 EXPECT_EQ("1 11 2 21 211 212 213 22", ChildWindowIDsAsString(parent.get())); | 242 EXPECT_EQ("1 11 2 21 211 212 213 22", ChildWindowIDsAsString(parent.get())); |
243 | 243 |
244 w21->Reorder(w1.get(), mojom::ORDER_DIRECTION_BELOW); | 244 w21->Reorder(w1.get(), mojom::OrderDirection::BELOW); |
245 EXPECT_EQ(w11, parent->children().back()); | 245 EXPECT_EQ(w11, parent->children().back()); |
246 EXPECT_EQ("2 21 211 212 213 22 1 11", ChildWindowIDsAsString(parent.get())); | 246 EXPECT_EQ("2 21 211 212 213 22 1 11", ChildWindowIDsAsString(parent.get())); |
247 | 247 |
248 w11->Reorder(w2.get(), mojom::ORDER_DIRECTION_BELOW); | 248 w11->Reorder(w2.get(), mojom::OrderDirection::BELOW); |
249 EXPECT_EQ(w22, parent->children().back()); | 249 EXPECT_EQ(w22, parent->children().back()); |
250 EXPECT_EQ("1 11 2 21 211 212 213 22", ChildWindowIDsAsString(parent.get())); | 250 EXPECT_EQ("1 11 2 21 211 212 213 22", ChildWindowIDsAsString(parent.get())); |
251 | 251 |
252 w22->Reorder(w21, mojom::ORDER_DIRECTION_BELOW); | 252 w22->Reorder(w21, mojom::OrderDirection::BELOW); |
253 EXPECT_EQ(w213, parent->children().back()); | 253 EXPECT_EQ(w213, parent->children().back()); |
254 EXPECT_EQ("1 11 2 22 21 211 212 213", ChildWindowIDsAsString(parent.get())); | 254 EXPECT_EQ("1 11 2 22 21 211 212 213", ChildWindowIDsAsString(parent.get())); |
255 | 255 |
256 w21->Reorder(w11, mojom::ORDER_DIRECTION_BELOW); | 256 w21->Reorder(w11, mojom::OrderDirection::BELOW); |
257 EXPECT_EQ(w11, parent->children().back()); | 257 EXPECT_EQ(w11, parent->children().back()); |
258 EXPECT_EQ("2 22 21 211 212 213 1 11", ChildWindowIDsAsString(parent.get())); | 258 EXPECT_EQ("2 22 21 211 212 213 1 11", ChildWindowIDsAsString(parent.get())); |
259 | 259 |
260 w213->Reorder(w211, mojom::ORDER_DIRECTION_BELOW); | 260 w213->Reorder(w211, mojom::OrderDirection::BELOW); |
261 EXPECT_EQ(w11, parent->children().back()); | 261 EXPECT_EQ(w11, parent->children().back()); |
262 EXPECT_EQ("2 22 21 213 211 212 1 11", ChildWindowIDsAsString(parent.get())); | 262 EXPECT_EQ("2 22 21 213 211 212 1 11", ChildWindowIDsAsString(parent.get())); |
263 | 263 |
264 // No change when stacking a transient parent below its transient child. | 264 // No change when stacking a transient parent below its transient child. |
265 w21->Reorder(w211, mojom::ORDER_DIRECTION_BELOW); | 265 w21->Reorder(w211, mojom::OrderDirection::BELOW); |
266 EXPECT_EQ(w11, parent->children().back()); | 266 EXPECT_EQ(w11, parent->children().back()); |
267 EXPECT_EQ("2 22 21 213 211 212 1 11", ChildWindowIDsAsString(parent.get())); | 267 EXPECT_EQ("2 22 21 213 211 212 1 11", ChildWindowIDsAsString(parent.get())); |
268 | 268 |
269 w1->Reorder(w2.get(), mojom::ORDER_DIRECTION_BELOW); | 269 w1->Reorder(w2.get(), mojom::OrderDirection::BELOW); |
270 EXPECT_EQ(w212, parent->children().back()); | 270 EXPECT_EQ(w212, parent->children().back()); |
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::ORDER_DIRECTION_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 scoped_ptr<ServerWindow> parent( |
282 CreateTestWindow(&delegate, WindowId(), nullptr)); | 282 CreateTestWindow(&delegate, WindowId(), nullptr)); |
283 scoped_ptr<ServerWindow> window0( | 283 scoped_ptr<ServerWindow> window0( |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 |
OLD | NEW |