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

Unified Diff: mojo/services/public/cpp/view_manager/tests/view_manager_unittest.cc

Issue 424533002: Cleans up usage of ViewManagerServiceImpl::roots_ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix attempt 2 Created 6 years, 5 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/services/public/cpp/view_manager/node.h ('k') | mojo/services/view_manager/ids.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/services/public/cpp/view_manager/tests/view_manager_unittest.cc
diff --git a/mojo/services/public/cpp/view_manager/tests/view_manager_unittest.cc b/mojo/services/public/cpp/view_manager/tests/view_manager_unittest.cc
index dbfe231ca40058b3868ca07160d25c7da48ff52e..86b7f685e5215f8c6316d86be9da513c5074a896 100644
--- a/mojo/services/public/cpp/view_manager/tests/view_manager_unittest.cc
+++ b/mojo/services/public/cpp/view_manager/tests/view_manager_unittest.cc
@@ -174,6 +174,15 @@ class TreeSizeMatchesObserver : public NodeObserver {
DISALLOW_COPY_AND_ASSIGN(TreeSizeMatchesObserver);
};
+void WaitForTreeSizeToMatch(Node* node, size_t tree_size) {
+ TreeSizeMatchesObserver observer(node, tree_size);
+ if (observer.IsTreeCorrectSize())
+ return;
+ node->AddObserver(&observer);
+ DoRunLoop();
+ node->RemoveObserver(&observer);
+}
+
// Utility class that waits for the destruction of some number of nodes and
// views.
class DestructionObserver : public NodeObserver, public ViewObserver {
@@ -626,33 +635,36 @@ TEST_F(ViewManagerTest, Reorder) {
Node* node1 = Node::Create(window_manager());
window_manager()->GetRoots().front()->AddChild(node1);
- Node* node11 = Node::Create(window_manager());
- node1->AddChild(node11);
- Node* node12 = Node::Create(window_manager());
- node1->AddChild(node12);
-
ViewManager* embedded = Embed(window_manager(), node1);
- Node* node1_in_embedded = embedded->GetNodeById(node1->id());
+ Node* node11 = Node::Create(embedded);
+ embedded->GetRoots().front()->AddChild(node11);
+ Node* node12 = Node::Create(embedded);
+ embedded->GetRoots().front()->AddChild(node12);
+
+ Node* node1_in_wm = window_manager()->GetNodeById(node1->id());
{
+ WaitForTreeSizeToMatch(node1, 2u);
node11->MoveToFront();
- WaitForOrderChange(embedded, embedded->GetNodeById(node11->id()));
+ WaitForOrderChange(window_manager(),
+ window_manager()->GetNodeById(node11->id()));
- EXPECT_EQ(node1_in_embedded->children().front(),
- embedded->GetNodeById(node12->id()));
- EXPECT_EQ(node1_in_embedded->children().back(),
- embedded->GetNodeById(node11->id()));
+ EXPECT_EQ(node1_in_wm->children().front(),
+ window_manager()->GetNodeById(node12->id()));
+ EXPECT_EQ(node1_in_wm->children().back(),
+ window_manager()->GetNodeById(node11->id()));
}
{
node11->MoveToBack();
- WaitForOrderChange(embedded, embedded->GetNodeById(node11->id()));
+ WaitForOrderChange(window_manager(),
+ window_manager()->GetNodeById(node11->id()));
- EXPECT_EQ(node1_in_embedded->children().front(),
- embedded->GetNodeById(node11->id()));
- EXPECT_EQ(node1_in_embedded->children().back(),
- embedded->GetNodeById(node12->id()));
+ EXPECT_EQ(node1_in_wm->children().front(),
+ window_manager()->GetNodeById(node11->id()));
+ EXPECT_EQ(node1_in_wm->children().back(),
+ window_manager()->GetNodeById(node12->id()));
}
}
« no previous file with comments | « mojo/services/public/cpp/view_manager/node.h ('k') | mojo/services/view_manager/ids.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698