| 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 |