| Index: mojo/services/view_manager/view_manager_connection_unittest.cc
|
| diff --git a/mojo/services/view_manager/view_manager_connection_unittest.cc b/mojo/services/view_manager/view_manager_connection_unittest.cc
|
| index 4f5d1c92dd02bdad92afaebbb57c0c287d169d0a..d1e83f853344381c45f1a75418564ef3d67ab64d 100644
|
| --- a/mojo/services/view_manager/view_manager_connection_unittest.cc
|
| +++ b/mojo/services/view_manager/view_manager_connection_unittest.cc
|
| @@ -112,6 +112,19 @@ class ViewManagerProxy : public TestChangeTracker::Delegate {
|
| RunMainLoop();
|
| return result;
|
| }
|
| + bool ReorderNode(Id node_id,
|
| + Id relative_node_id,
|
| + OrderDirection direction,
|
| + Id server_change_id) {
|
| + changes_.clear();
|
| + bool result = false;
|
| + view_manager_->ReorderNode(node_id, relative_node_id, direction,
|
| + server_change_id,
|
| + base::Bind(&ViewManagerProxy::GotResult,
|
| + base::Unretained(this), &result));
|
| + RunMainLoop();
|
| + return result;
|
| + }
|
| bool SetView(Id node_id, Id view_id) {
|
| changes_.clear();
|
| bool result = false;
|
| @@ -305,6 +318,13 @@ class TestViewManagerClientConnection
|
| tracker_.OnNodeHierarchyChanged(node, new_parent, old_parent,
|
| server_change_id, nodes.Pass());
|
| }
|
| + virtual void OnNodeReordered(Id node_id,
|
| + Id relative_node_id,
|
| + OrderDirection direction,
|
| + Id server_change_id) OVERRIDE {
|
| + tracker_.OnNodeReordered(node_id, relative_node_id, direction,
|
| + server_change_id);
|
| + }
|
| virtual void OnNodeDeleted(Id node, Id server_change_id) OVERRIDE {
|
| tracker_.OnNodeDeleted(node, server_change_id);
|
| }
|
| @@ -758,6 +778,41 @@ TEST_F(ViewManagerConnectionTest, NodeHierarchyChangedAddingKnownToUnknown) {
|
| }
|
| }
|
|
|
| +TEST_F(ViewManagerConnectionTest, ReorderNode) {
|
| + Id node1_id = BuildNodeId(1, 1);
|
| + Id node2_id = BuildNodeId(1, 2);
|
| + Id node3_id = BuildNodeId(1, 3);
|
| + ASSERT_TRUE(connection_->CreateNode(node1_id));
|
| + ASSERT_TRUE(connection_->CreateNode(node2_id));
|
| + ASSERT_TRUE(connection_->CreateNode(node3_id));
|
| + ASSERT_TRUE(connection_->AddNode(node1_id, node2_id, 1));
|
| + ASSERT_TRUE(connection_->AddNode(node1_id, node3_id, 2));
|
| +
|
| + ASSERT_NO_FATAL_FAILURE(EstablishSecondConnection(false));
|
| +
|
| + {
|
| + connection_->ReorderNode(node2_id, node3_id, ORDER_ABOVE, 3);
|
| +
|
| + connection2_->DoRunLoopUntilChangesCount(1);
|
| + const Changes changes(ChangesToDescription1(connection2_->changes()));
|
| + ASSERT_EQ(1u, changes.size());
|
| + EXPECT_EQ(
|
| + "Reordered change_id=3 node=1,2 relative=1,3 direction=above",
|
| + changes[0]);
|
| + }
|
| +
|
| + {
|
| + connection_->ReorderNode(node2_id, node3_id, ORDER_BELOW, 4);
|
| +
|
| + connection2_->DoRunLoopUntilChangesCount(1);
|
| + const Changes changes(ChangesToDescription1(connection2_->changes()));
|
| + ASSERT_EQ(1u, changes.size());
|
| + EXPECT_EQ(
|
| + "Reordered change_id=4 node=1,2 relative=1,3 direction=below",
|
| + changes[0]);
|
| + }
|
| +}
|
| +
|
| // Verifies DeleteNode works.
|
| TEST_F(ViewManagerConnectionTest, DeleteNode) {
|
| ASSERT_TRUE(connection_->CreateNode(BuildNodeId(1, 2)));
|
|
|