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

Side by Side Diff: mojo/services/view_manager/view_manager_service_unittest.cc

Issue 745743002: Makes views be initially hidden (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: feedback Created 6 years, 1 month 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
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 <string> 5 #include <string>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "mojo/converters/geometry/geometry_type_converters.h" 9 #include "mojo/converters/geometry/geometry_type_converters.h"
10 #include "mojo/public/interfaces/application/service_provider.mojom.h" 10 #include "mojo/public/interfaces/application/service_provider.mojom.h"
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 // Provides common setup for animation tests. Creates the following views: 249 // Provides common setup for animation tests. Creates the following views:
250 // 0,1 (the root, provided by view manager) 250 // 0,1 (the root, provided by view manager)
251 // 1,1 the second connection is embedded here (view owned by wm_connection()). 251 // 1,1 the second connection is embedded here (view owned by wm_connection()).
252 // 2,1 bounds=1,2 11x22 252 // 2,1 bounds=1,2 11x22
253 // 2,2 bounds=2,3 6x7 253 // 2,2 bounds=2,3 6x7
254 // 2,3 bounds=3,4 6x7 254 // 2,3 bounds=3,4 6x7
255 // CloneAndAnimate() is invoked for 2,2. 255 // CloneAndAnimate() is invoked for 2,2.
256 void SetUpAnimate1(ViewManagerServiceTest* test, ViewId* embed_view_id) { 256 void SetUpAnimate1(ViewManagerServiceTest* test, ViewId* embed_view_id) {
257 *embed_view_id = ViewId(test->wm_connection()->id(), 1); 257 *embed_view_id = ViewId(test->wm_connection()->id(), 1);
258 EXPECT_EQ(ERROR_CODE_NONE, test->wm_connection()->CreateView(*embed_view_id)); 258 EXPECT_EQ(ERROR_CODE_NONE, test->wm_connection()->CreateView(*embed_view_id));
259 EXPECT_TRUE(test->wm_connection()->SetViewVisibility(*embed_view_id, true));
259 EXPECT_TRUE(test->wm_connection()->AddView(*(test->wm_connection()->root()), 260 EXPECT_TRUE(test->wm_connection()->AddView(*(test->wm_connection()->root()),
260 *embed_view_id)); 261 *embed_view_id));
261 EXPECT_TRUE(test->wm_connection()->Embed( 262 EXPECT_TRUE(test->wm_connection()->Embed(
262 std::string(), *embed_view_id, InterfaceRequest<ServiceProvider>())); 263 std::string(), *embed_view_id, InterfaceRequest<ServiceProvider>()));
263 ViewManagerServiceImpl* connection1 = 264 ViewManagerServiceImpl* connection1 =
264 test->connection_manager()->GetConnectionWithRoot(*embed_view_id); 265 test->connection_manager()->GetConnectionWithRoot(*embed_view_id);
265 ASSERT_TRUE(connection1 != nullptr); 266 ASSERT_TRUE(connection1 != nullptr);
266 ASSERT_NE(connection1, test->wm_connection()); 267 ASSERT_NE(connection1, test->wm_connection());
267 268
268 const ViewId child1(connection1->id(), 1); 269 const ViewId child1(connection1->id(), 1);
269 EXPECT_EQ(ERROR_CODE_NONE, connection1->CreateView(child1)); 270 EXPECT_EQ(ERROR_CODE_NONE, connection1->CreateView(child1));
270 const ViewId child2(connection1->id(), 2); 271 const ViewId child2(connection1->id(), 2);
271 EXPECT_EQ(ERROR_CODE_NONE, connection1->CreateView(child2)); 272 EXPECT_EQ(ERROR_CODE_NONE, connection1->CreateView(child2));
272 const ViewId child3(connection1->id(), 3); 273 const ViewId child3(connection1->id(), 3);
273 EXPECT_EQ(ERROR_CODE_NONE, connection1->CreateView(child3)); 274 EXPECT_EQ(ERROR_CODE_NONE, connection1->CreateView(child3));
274 275
275 ServerView* v1 = connection1->GetView(child1); 276 ServerView* v1 = connection1->GetView(child1);
277 v1->SetVisible(true);
276 v1->SetBounds(gfx::Rect(1, 2, 11, 22)); 278 v1->SetBounds(gfx::Rect(1, 2, 11, 22));
277 ServerView* v2 = connection1->GetView(child2); 279 ServerView* v2 = connection1->GetView(child2);
280 v2->SetVisible(true);
278 v2->SetBounds(gfx::Rect(2, 3, 6, 7)); 281 v2->SetBounds(gfx::Rect(2, 3, 6, 7));
279 ServerView* v3 = connection1->GetView(child3); 282 ServerView* v3 = connection1->GetView(child3);
283 v3->SetVisible(true);
280 v3->SetBounds(gfx::Rect(3, 4, 6, 7)); 284 v3->SetBounds(gfx::Rect(3, 4, 6, 7));
281 285
282 EXPECT_TRUE(connection1->AddView(*embed_view_id, child1)); 286 EXPECT_TRUE(connection1->AddView(*embed_view_id, child1));
283 EXPECT_TRUE(connection1->AddView(child1, child2)); 287 EXPECT_TRUE(connection1->AddView(child1, child2));
284 EXPECT_TRUE(connection1->AddView(child2, child3)); 288 EXPECT_TRUE(connection1->AddView(child2, child3));
285 289
286 TestViewManagerClient* connection1_client = test->last_view_manager_client(); 290 TestViewManagerClient* connection1_client = test->last_view_manager_client();
287 connection1_client->tracker()->changes()->clear(); 291 connection1_client->tracker()->changes()->clear();
288 test->wm_client()->tracker()->changes()->clear(); 292 test->wm_client()->tracker()->changes()->clear();
289 EXPECT_TRUE(test->connection_manager()->CloneAndAnimate(child2)); 293 EXPECT_TRUE(test->connection_manager()->CloneAndAnimate(child2));
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 EXPECT_TRUE(cloned_view->GetChildren()[0]->id() == ClonedViewId()); 386 EXPECT_TRUE(cloned_view->GetChildren()[0]->id() == ClonedViewId());
383 EXPECT_EQ(2u, cloned_view->parent()->GetChildren().size()); 387 EXPECT_EQ(2u, cloned_view->parent()->GetChildren().size());
384 EXPECT_TRUE(cloned_view->parent()->GetChildren()[1] == cloned_view); 388 EXPECT_TRUE(cloned_view->parent()->GetChildren()[1] == cloned_view);
385 } 389 }
386 390
387 // Clone and animate on a tree with more depth. Basically that of 391 // Clone and animate on a tree with more depth. Basically that of
388 // SetUpAnimate1() but cloning 2,1. 392 // SetUpAnimate1() but cloning 2,1.
389 TEST_F(ViewManagerServiceTest, CloneAndAnimateLargerDepth) { 393 TEST_F(ViewManagerServiceTest, CloneAndAnimateLargerDepth) {
390 const ViewId embed_view_id(wm_connection()->id(), 1); 394 const ViewId embed_view_id(wm_connection()->id(), 1);
391 EXPECT_EQ(ERROR_CODE_NONE, wm_connection()->CreateView(embed_view_id)); 395 EXPECT_EQ(ERROR_CODE_NONE, wm_connection()->CreateView(embed_view_id));
396 EXPECT_TRUE(wm_connection()->SetViewVisibility(embed_view_id, true));
392 EXPECT_TRUE( 397 EXPECT_TRUE(
393 wm_connection()->AddView(*(wm_connection()->root()), embed_view_id)); 398 wm_connection()->AddView(*(wm_connection()->root()), embed_view_id));
394 EXPECT_TRUE(wm_connection()->Embed(std::string(), embed_view_id, 399 EXPECT_TRUE(wm_connection()->Embed(std::string(), embed_view_id,
395 InterfaceRequest<ServiceProvider>())); 400 InterfaceRequest<ServiceProvider>()));
396 ViewManagerServiceImpl* connection1 = 401 ViewManagerServiceImpl* connection1 =
397 connection_manager()->GetConnectionWithRoot(embed_view_id); 402 connection_manager()->GetConnectionWithRoot(embed_view_id);
398 ASSERT_TRUE(connection1 != nullptr); 403 ASSERT_TRUE(connection1 != nullptr);
399 ASSERT_NE(connection1, wm_connection()); 404 ASSERT_NE(connection1, wm_connection());
400 405
401 const ViewId child1(connection1->id(), 1); 406 const ViewId child1(connection1->id(), 1);
402 EXPECT_EQ(ERROR_CODE_NONE, connection1->CreateView(child1)); 407 EXPECT_EQ(ERROR_CODE_NONE, connection1->CreateView(child1));
403 const ViewId child2(connection1->id(), 2); 408 const ViewId child2(connection1->id(), 2);
404 EXPECT_EQ(ERROR_CODE_NONE, connection1->CreateView(child2)); 409 EXPECT_EQ(ERROR_CODE_NONE, connection1->CreateView(child2));
405 const ViewId child3(connection1->id(), 3); 410 const ViewId child3(connection1->id(), 3);
406 EXPECT_EQ(ERROR_CODE_NONE, connection1->CreateView(child3)); 411 EXPECT_EQ(ERROR_CODE_NONE, connection1->CreateView(child3));
407 412
408 ServerView* v1 = connection1->GetView(child1); 413 ServerView* v1 = connection1->GetView(child1);
414 v1->SetVisible(true);
415 connection1->GetView(child2)->SetVisible(true);
416 connection1->GetView(child3)->SetVisible(true);
409 417
410 EXPECT_TRUE(connection1->AddView(embed_view_id, child1)); 418 EXPECT_TRUE(connection1->AddView(embed_view_id, child1));
411 EXPECT_TRUE(connection1->AddView(child1, child2)); 419 EXPECT_TRUE(connection1->AddView(child1, child2));
412 EXPECT_TRUE(connection1->AddView(child2, child3)); 420 EXPECT_TRUE(connection1->AddView(child2, child3));
413 421
414 TestViewManagerClient* connection1_client = last_view_manager_client(); 422 TestViewManagerClient* connection1_client = last_view_manager_client();
415 connection1_client->tracker()->changes()->clear(); 423 connection1_client->tracker()->changes()->clear();
416 wm_client()->tracker()->changes()->clear(); 424 wm_client()->tracker()->changes()->clear();
417 EXPECT_TRUE(connection_manager()->CloneAndAnimate(child1)); 425 EXPECT_TRUE(connection_manager()->CloneAndAnimate(child1));
418 EXPECT_TRUE(connection1_client->tracker()->changes()->empty()); 426 EXPECT_TRUE(connection1_client->tracker()->changes()->empty());
419 EXPECT_TRUE(wm_client()->tracker()->changes()->empty()); 427 EXPECT_TRUE(wm_client()->tracker()->changes()->empty());
420 428
421 // We cloned v1. The cloned view ends up as a sibling of it. 429 // We cloned v1. The cloned view ends up as a sibling of it.
422 const ServerView* cloned_view = GetFirstCloned(v1->parent()); 430 const ServerView* cloned_view = GetFirstCloned(v1->parent());
423 ASSERT_TRUE(cloned_view); 431 ASSERT_TRUE(cloned_view);
424 // |cloned_view| should have a child and its child should have a child. 432 // |cloned_view| should have a child and its child should have a child.
425 ASSERT_EQ(1u, cloned_view->GetChildren().size()); 433 ASSERT_EQ(1u, cloned_view->GetChildren().size());
426 const ServerView* cloned_view_child = cloned_view->GetChildren()[0]; 434 const ServerView* cloned_view_child = cloned_view->GetChildren()[0];
427 EXPECT_EQ(1u, cloned_view_child->GetChildren().size()); 435 EXPECT_EQ(1u, cloned_view_child->GetChildren().size());
428 EXPECT_TRUE(cloned_view_child->id() == ClonedViewId()); 436 EXPECT_TRUE(cloned_view_child->id() == ClonedViewId());
429 } 437 }
430 438
431 } // namespace service 439 } // namespace service
432 } // namespace mojo 440 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/services/view_manager/view_manager_service_apptest.cc ('k') | mojo/services/view_manager/view_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698