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

Side by Side Diff: mojo/services/view_manager/view_manager_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/at_exit.h" 8 #include "base/at_exit.h"
9 #include "base/auto_reset.h" 9 #include "base/auto_reset.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 897 matching lines...) Expand 10 before | Expand all | Expand 10 after
908 // the server. 908 // the server.
909 ASSERT_TRUE(connection2_->CreateView(BuildViewId(2, 100))); 909 ASSERT_TRUE(connection2_->CreateView(BuildViewId(2, 100)));
910 connection2_->CopyChangesFromTracker(); 910 connection2_->CopyChangesFromTracker();
911 EXPECT_TRUE(connection2_->changes().empty()); 911 EXPECT_TRUE(connection2_->changes().empty());
912 } 912 }
913 913
914 // Verifies HierarchyChanged is correctly sent for various adds/removes. 914 // Verifies HierarchyChanged is correctly sent for various adds/removes.
915 TEST_F(ViewManagerTest, ViewHierarchyChangedViews) { 915 TEST_F(ViewManagerTest, ViewHierarchyChangedViews) {
916 // 1,2->1,11. 916 // 1,2->1,11.
917 ASSERT_TRUE(connection_->CreateView(BuildViewId(1, 2))); 917 ASSERT_TRUE(connection_->CreateView(BuildViewId(1, 2)));
918 ASSERT_TRUE(connection_->SetViewVisibility(BuildViewId(1, 2), true));
918 ASSERT_TRUE(connection_->CreateView(BuildViewId(1, 11))); 919 ASSERT_TRUE(connection_->CreateView(BuildViewId(1, 11)));
920 ASSERT_TRUE(connection_->SetViewVisibility(BuildViewId(1, 11), true));
919 ASSERT_TRUE(connection_->AddView(BuildViewId(1, 2), BuildViewId(1, 11))); 921 ASSERT_TRUE(connection_->AddView(BuildViewId(1, 2), BuildViewId(1, 11)));
920 922
921 ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(true)); 923 ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(true));
924 ASSERT_TRUE(connection_->SetViewVisibility(BuildViewId(1, 1), true));
922 925
923 // 1,1->1,2->1,11 926 // 1,1->1,2->1,11
924 { 927 {
928 ASSERT_TRUE(connection2_->CreateView(BuildViewId(2, 101)));
925 // Client 2 should not get anything (1,2 is from another connection). 929 // Client 2 should not get anything (1,2 is from another connection).
926 connection2_->ClearChanges(); 930 connection2_->ClearChanges();
927 ASSERT_TRUE(connection_->AddView(BuildViewId(1, 1), BuildViewId(1, 2))); 931 ASSERT_TRUE(connection_->AddView(BuildViewId(1, 1), BuildViewId(1, 2)));
928 ASSERT_TRUE(connection2_->CreateView(BuildViewId(2, 100))); 932 ASSERT_TRUE(connection2_->CreateView(BuildViewId(2, 100)));
929 connection2_->CopyChangesFromTracker(); 933 connection2_->CopyChangesFromTracker();
930 EXPECT_TRUE(connection2_->changes().empty()); 934 EXPECT_TRUE(connection2_->changes().empty());
931 } 935 }
932 936
933 // 0,1->1,1->1,2->1,11. 937 // 0,1->1,1->1,2->1,11.
934 { 938 {
(...skipping 12 matching lines...) Expand all
947 // changed. 951 // changed.
948 ASSERT_TRUE(connection_->RemoveViewFromParent(BuildViewId(1, 1))); 952 ASSERT_TRUE(connection_->RemoveViewFromParent(BuildViewId(1, 1)));
949 connection2_->DoRunLoopUntilChangesCount(1); 953 connection2_->DoRunLoopUntilChangesCount(1);
950 ASSERT_EQ(1u, connection2_->changes().size()); 954 ASSERT_EQ(1u, connection2_->changes().size());
951 EXPECT_EQ("DrawnStateChanged view=1,1 drawn=false", 955 EXPECT_EQ("DrawnStateChanged view=1,1 drawn=false",
952 ChangesToDescription1(connection2_->changes())[0]); 956 ChangesToDescription1(connection2_->changes())[0]);
953 } 957 }
954 958
955 // 1,1->1,2->1,11->1,111. 959 // 1,1->1,2->1,11->1,111.
956 ASSERT_TRUE(connection_->CreateView(BuildViewId(1, 111))); 960 ASSERT_TRUE(connection_->CreateView(BuildViewId(1, 111)));
961 ASSERT_TRUE(connection_->SetViewVisibility(BuildViewId(1, 111), true));
957 { 962 {
958 connection2_->ClearChanges(); 963 connection2_->ClearChanges();
959 ASSERT_TRUE(connection_->AddView(BuildViewId(1, 11), BuildViewId(1, 111))); 964 ASSERT_TRUE(connection_->AddView(BuildViewId(1, 11), BuildViewId(1, 111)));
960 ASSERT_TRUE(connection2_->CreateView(BuildViewId(2, 103))); 965 ASSERT_TRUE(connection2_->CreateView(BuildViewId(2, 103)));
961 connection2_->CopyChangesFromTracker(); 966 connection2_->CopyChangesFromTracker();
962 EXPECT_TRUE(connection2_->changes().empty()); 967 EXPECT_TRUE(connection2_->changes().empty());
963 } 968 }
964 969
965 // 0,1->1,1->1,2->1,11->1,111 970 // 0,1->1,1->1,2->1,11->1,111
966 { 971 {
(...skipping 455 matching lines...) Expand 10 before | Expand all | Expand 10 after
1422 ASSERT_TRUE(connection_->CreateView(BuildViewId(1, 1))); 1427 ASSERT_TRUE(connection_->CreateView(BuildViewId(1, 1)));
1423 ASSERT_TRUE(connection_->CreateView(BuildViewId(1, 2))); 1428 ASSERT_TRUE(connection_->CreateView(BuildViewId(1, 2)));
1424 1429
1425 ASSERT_TRUE(connection_->AddView(BuildViewId(0, 1), BuildViewId(1, 1))); 1430 ASSERT_TRUE(connection_->AddView(BuildViewId(0, 1), BuildViewId(1, 1)));
1426 { 1431 {
1427 std::vector<TestView> views; 1432 std::vector<TestView> views;
1428 connection_->GetViewTree(BuildViewId(0, 1), &views); 1433 connection_->GetViewTree(BuildViewId(0, 1), &views);
1429 ASSERT_EQ(2u, views.size()); 1434 ASSERT_EQ(2u, views.size());
1430 EXPECT_EQ("view=0,1 parent=null visible=true drawn=true", 1435 EXPECT_EQ("view=0,1 parent=null visible=true drawn=true",
1431 views[0].ToString2()); 1436 views[0].ToString2());
1437 EXPECT_EQ("view=1,1 parent=0,1 visible=false drawn=false",
1438 views[1].ToString2());
1439 }
1440
1441 ASSERT_TRUE(connection_->SetViewVisibility(BuildViewId(1, 1), true));
1442 ASSERT_TRUE(connection_->SetViewVisibility(BuildViewId(1, 2), true));
1443 {
1444 std::vector<TestView> views;
1445 connection_->GetViewTree(BuildViewId(0, 1), &views);
1446 ASSERT_EQ(2u, views.size());
1447 EXPECT_EQ("view=0,1 parent=null visible=true drawn=true",
1448 views[0].ToString2());
1432 EXPECT_EQ("view=1,1 parent=0,1 visible=true drawn=true", 1449 EXPECT_EQ("view=1,1 parent=0,1 visible=true drawn=true",
1433 views[1].ToString2()); 1450 views[1].ToString2());
1434 } 1451 }
1435 1452
1436 // Hide 1. 1453 // Hide 1.
1437 ASSERT_TRUE(connection_->SetViewVisibility(BuildViewId(1, 1), false)); 1454 ASSERT_TRUE(connection_->SetViewVisibility(BuildViewId(1, 1), false));
1438 { 1455 {
1439 std::vector<TestView> views; 1456 std::vector<TestView> views;
1440 connection_->GetViewTree(BuildViewId(1, 1), &views); 1457 connection_->GetViewTree(BuildViewId(1, 1), &views);
1441 ASSERT_EQ(1u, views.size()); 1458 ASSERT_EQ(1u, views.size());
(...skipping 23 matching lines...) Expand all
1465 views[0].ToString2()); 1482 views[0].ToString2());
1466 EXPECT_EQ("view=1,2 parent=1,1 visible=true drawn=true", 1483 EXPECT_EQ("view=1,2 parent=1,1 visible=true drawn=true",
1467 views[1].ToString2()); 1484 views[1].ToString2());
1468 } 1485 }
1469 } 1486 }
1470 1487
1471 // Assertions for SetViewVisibility sending notifications. 1488 // Assertions for SetViewVisibility sending notifications.
1472 TEST_F(ViewManagerTest, SetViewVisibilityNotifications) { 1489 TEST_F(ViewManagerTest, SetViewVisibilityNotifications) {
1473 // Create 1,1 and 1,2, 1,2 and child of 1,1 and 1,1 a child of the root. 1490 // Create 1,1 and 1,2, 1,2 and child of 1,1 and 1,1 a child of the root.
1474 ASSERT_TRUE(connection_->CreateView(BuildViewId(1, 1))); 1491 ASSERT_TRUE(connection_->CreateView(BuildViewId(1, 1)));
1492 ASSERT_TRUE(connection_->SetViewVisibility(BuildViewId(1, 1), true));
1475 ASSERT_TRUE(connection_->CreateView(BuildViewId(1, 2))); 1493 ASSERT_TRUE(connection_->CreateView(BuildViewId(1, 2)));
1494 ASSERT_TRUE(connection_->SetViewVisibility(BuildViewId(1, 2), true));
1476 ASSERT_TRUE(connection_->AddView(BuildViewId(0, 1), BuildViewId(1, 1))); 1495 ASSERT_TRUE(connection_->AddView(BuildViewId(0, 1), BuildViewId(1, 1)));
1477 ASSERT_TRUE(connection_->AddView(BuildViewId(1, 1), BuildViewId(1, 2))); 1496 ASSERT_TRUE(connection_->AddView(BuildViewId(1, 1), BuildViewId(1, 2)));
1478 1497
1479 // Establish the second connection at 1,2. 1498 // Establish the second connection at 1,2.
1480 ASSERT_NO_FATAL_FAILURE( 1499 ASSERT_NO_FATAL_FAILURE(
1481 EstablishSecondConnectionWithRoot(BuildViewId(1, 2))); 1500 EstablishSecondConnectionWithRoot(BuildViewId(1, 2)));
1482 1501
1483 // Add 2,3 as a child of 1,2. 1502 // Add 2,3 as a child of 1,2.
1484 ASSERT_TRUE(connection2_->CreateView(BuildViewId(2, 3))); 1503 ASSERT_TRUE(connection2_->CreateView(BuildViewId(2, 3)));
1504 ASSERT_TRUE(connection2_->SetViewVisibility(BuildViewId(2, 3), true));
1485 connection_->ClearChanges(); 1505 connection_->ClearChanges();
1486 ASSERT_TRUE(connection2_->AddView(BuildViewId(1, 2), BuildViewId(2, 3))); 1506 ASSERT_TRUE(connection2_->AddView(BuildViewId(1, 2), BuildViewId(2, 3)));
1487 connection_->DoRunLoopUntilChangesCount(1); 1507 connection_->DoRunLoopUntilChangesCount(1);
1488 1508
1489 // Hide 1,2 from connection 1. Connection 2 should see this. 1509 // Hide 1,2 from connection 1. Connection 2 should see this.
1490 ASSERT_TRUE(connection_->SetViewVisibility(BuildViewId(1, 2), false)); 1510 ASSERT_TRUE(connection_->SetViewVisibility(BuildViewId(1, 2), false));
1491 { 1511 {
1492 connection2_->DoRunLoopUntilChangesCount(1); 1512 connection2_->DoRunLoopUntilChangesCount(1);
1493 ASSERT_EQ(1u, connection2_->changes().size()); 1513 ASSERT_EQ(1u, connection2_->changes().size());
1494 EXPECT_EQ("VisibilityChanged view=1,2 visible=false", 1514 EXPECT_EQ("VisibilityChanged view=1,2 visible=false",
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
1557 1577
1558 ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(false)); 1578 ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(false));
1559 1579
1560 ASSERT_TRUE(connection_->AddView(BuildViewId(0, 1), BuildViewId(1, 1))); 1580 ASSERT_TRUE(connection_->AddView(BuildViewId(0, 1), BuildViewId(1, 1)));
1561 { 1581 {
1562 std::vector<TestView> views; 1582 std::vector<TestView> views;
1563 connection_->GetViewTree(BuildViewId(0, 1), &views); 1583 connection_->GetViewTree(BuildViewId(0, 1), &views);
1564 ASSERT_EQ(2u, views.size()); 1584 ASSERT_EQ(2u, views.size());
1565 EXPECT_EQ("view=0,1 parent=null visible=true drawn=true", 1585 EXPECT_EQ("view=0,1 parent=null visible=true drawn=true",
1566 views[0].ToString2()); 1586 views[0].ToString2());
1567 EXPECT_EQ("view=1,1 parent=0,1 visible=true drawn=true", 1587 EXPECT_EQ("view=1,1 parent=0,1 visible=false drawn=false",
1568 views[1].ToString2()); 1588 views[1].ToString2());
1569 1589
1570 ASSERT_EQ(0u, views[1].properties.size()); 1590 ASSERT_EQ(0u, views[1].properties.size());
1571
1572 connection2_->DoRunLoopUntilChangesCount(1);
1573 ASSERT_EQ(1u, connection2_->changes().size());
1574 EXPECT_EQ("DrawnStateChanged view=1,1 drawn=true",
1575 ChangesToDescription1(connection2_->changes())[0]);
1576 } 1591 }
1577 1592
1578 // Set properties on 1. 1593 // Set properties on 1.
1579 std::vector<uint8_t> one(1, '1'); 1594 std::vector<uint8_t> one(1, '1');
1580 ASSERT_TRUE(connection_->SetViewProperty(BuildViewId(1, 1), "one", &one)); 1595 ASSERT_TRUE(connection_->SetViewProperty(BuildViewId(1, 1), "one", &one));
1581 { 1596 {
1582 connection2_->DoRunLoopUntilChangesCount(1); 1597 connection2_->DoRunLoopUntilChangesCount(1);
1583 ASSERT_EQ(1u, connection2_->changes().size()); 1598 ASSERT_EQ(1u, connection2_->changes().size());
1584 EXPECT_EQ("PropertyChanged view=1,1 key=one value=1", 1599 EXPECT_EQ("PropertyChanged view=1,1 key=one value=1",
1585 ChangesToDescription1(connection2_->changes())[0]); 1600 ChangesToDescription1(connection2_->changes())[0]);
(...skipping 16 matching lines...) Expand all
1602 EXPECT_EQ("PropertyChanged view=1,1 key=one value=NULL", 1617 EXPECT_EQ("PropertyChanged view=1,1 key=one value=NULL",
1603 ChangesToDescription1(connection2_->changes())[0]); 1618 ChangesToDescription1(connection2_->changes())[0]);
1604 } 1619 }
1605 } 1620 }
1606 1621
1607 // WARNING: this class is deprecated and will be replaced with 1622 // WARNING: this class is deprecated and will be replaced with
1608 // view_manager_server_apptest soonish. Add new tests there. 1623 // view_manager_server_apptest soonish. Add new tests there.
1609 1624
1610 } // namespace service 1625 } // namespace service
1611 } // namespace mojo 1626 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/services/view_manager/view_manager_service_unittest.cc ('k') | mojo/services/window_manager/main.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698