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

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

Issue 280023002: Revert 269414 "Changes to deletion/ownership of nodes in the cli..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 years, 7 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
Index: trunk/src/mojo/services/public/cpp/view_manager/tests/view_manager_unittest.cc
===================================================================
--- trunk/src/mojo/services/public/cpp/view_manager/tests/view_manager_unittest.cc (revision 269420)
+++ trunk/src/mojo/services/public/cpp/view_manager/tests/view_manager_unittest.cc (working copy)
@@ -31,9 +31,6 @@
// ViewManager -----------------------------------------------------------------
-// These tests model synchronization of two peer connections to the view manager
-// service, that are given access to some root node.
-
class ViewManagerTest : public testing::Test {
public:
ViewManagerTest() : commit_count_(0) {}
@@ -42,17 +39,13 @@
ViewManager* view_manager_1() { return view_manager_1_.get(); }
ViewManager* view_manager_2() { return view_manager_2_.get(); }
- ViewTreeNode* CreateNodeInParent(ViewTreeNode* parent) {
+ scoped_ptr<ViewTreeNode> CreateNodeInParent(ViewTreeNode* parent) {
ViewManager* parent_manager = ViewTreeNodePrivate(parent).view_manager();
- ViewTreeNode* node = ViewTreeNode::Create(parent_manager);
- parent->AddChild(node);
- return node;
+ scoped_ptr<ViewTreeNode> node(new ViewTreeNode(parent_manager));
+ parent->AddChild(node.get());
+ return node.Pass();
}
- void DestroyViewManager1() {
- view_manager_1_.reset();
- }
-
private:
// Overridden from testing::Test:
virtual void SetUp() OVERRIDE {
@@ -92,6 +85,8 @@
private:
// Overridden from ViewTreeNodeObserver:
virtual void OnTreeChange(const TreeChangeParams& params) OVERRIDE {
+ if (params.phase != ViewTreeNodeObserver::DISPOSITION_CHANGED)
+ return;
if (ShouldQuitRunLoop(params))
QuitRunLoop();
}
@@ -114,8 +109,6 @@
private:
// Overridden from TreeObserverBase:
virtual bool ShouldQuitRunLoop(const TreeChangeParams& params) OVERRIDE {
- if (params.phase != ViewTreeNodeObserver::DISPOSITION_CHANGED)
- return false;
return CountNodes(view_manager()->tree()) == tree_size_;
}
@@ -141,8 +134,6 @@
private:
// Overridden from TreeObserverBase:
virtual bool ShouldQuitRunLoop(const TreeChangeParams& params) OVERRIDE {
- if (params.phase != ViewTreeNodeObserver::DISPOSITION_CHANGED)
- return false;
return params.receiver == view_manager()->tree() &&
!params.old_parent &&
params.new_parent == view_manager()->tree();
@@ -153,8 +144,8 @@
TEST_F(ViewManagerTest, HierarchyChanged_NodeCreated) {
HierarchyChanged_NodeCreatedObserver observer(view_manager_2());
- ViewTreeNode* node1 = ViewTreeNode::Create(view_manager_1());
- view_manager_1()->tree()->AddChild(node1);
+ scoped_ptr<ViewTreeNode> node1(new ViewTreeNode(view_manager_1()));
+ view_manager_1()->tree()->AddChild(node1.get());
DoRunLoop();
EXPECT_EQ(view_manager_2()->tree()->children().front()->id(), node1->id());
@@ -175,8 +166,6 @@
private:
// Overridden from TreeObserverBase:
virtual bool ShouldQuitRunLoop(const TreeChangeParams& params) OVERRIDE {
- if (params.phase != ViewTreeNodeObserver::DISPOSITION_CHANGED)
- return false;
return params.receiver == view_manager()->tree() &&
params.old_parent->id() == old_parent_id_&&
params.new_parent->id() == new_parent_id_;
@@ -189,16 +178,16 @@
};
TEST_F(ViewManagerTest, HierarchyChanged_NodeMoved) {
- ViewTreeNode* node1 = CreateNodeInParent(view_manager_1()->tree());
- ViewTreeNode* node2 = CreateNodeInParent(view_manager_1()->tree());
- ViewTreeNode* node21 = CreateNodeInParent(node2);
+ scoped_ptr<ViewTreeNode> node1(CreateNodeInParent(view_manager_1()->tree()));
+ scoped_ptr<ViewTreeNode> node2(CreateNodeInParent(view_manager_1()->tree()));
+ scoped_ptr<ViewTreeNode> node21(CreateNodeInParent(node2.get()));
TreeSizeMatchesWaiter waiter(view_manager_2(), 4);
HierarchyChanged_NodeMovedObserver observer(view_manager_2(),
node2->id(),
node1->id());
- node1->AddChild(node21);
+ node1->AddChild(node21.get());
DoRunLoop();
ViewTreeNode* tree2 = view_manager_2()->tree();
@@ -212,90 +201,8 @@
EXPECT_EQ(tree2_node21->parent(), tree2_node1);
}
-class HierarchyChanged_NodeRemovedObserver : public TreeObserverBase {
- public:
- HierarchyChanged_NodeRemovedObserver(ViewManager* view_manager)
- : TreeObserverBase(view_manager) {}
- virtual ~HierarchyChanged_NodeRemovedObserver() {}
+// TODO(beng): node destruction
- private:
- // Overridden from TreeObserverBase:
- virtual bool ShouldQuitRunLoop(const TreeChangeParams& params) OVERRIDE {
- if (params.phase != ViewTreeNodeObserver::DISPOSITION_CHANGING)
- return false;
- return params.receiver == view_manager()->tree() &&
- params.old_parent->id() == params.receiver->id() &&
- params.new_parent == 0;
- }
-
- DISALLOW_COPY_AND_ASSIGN(HierarchyChanged_NodeRemovedObserver);
-};
-
-TEST_F(ViewManagerTest, HierarchyChanged_NodeRemoved) {
- ViewTreeNode* node1 = CreateNodeInParent(view_manager_1()->tree());
- TreeSizeMatchesWaiter waiter(view_manager_2(), 2);
-
- HierarchyChanged_NodeRemovedObserver observer(view_manager_2());
-
- view_manager_1()->tree()->RemoveChild(node1);
- DoRunLoop();
-
- ViewTreeNode* tree2 = view_manager_2()->tree();
-
- EXPECT_TRUE(tree2->children().empty());
-}
-
-class NodeDestroyed_Waiter : public ViewTreeNodeObserver {
- public:
- NodeDestroyed_Waiter(ViewManager* view_manager, TransportNodeId id)
- : view_manager_(view_manager),
- id_(id) {
- view_manager_->GetNodeById(id)->AddObserver(this);
- DoRunLoop();
- }
- virtual ~NodeDestroyed_Waiter() {
- }
-
- private:
- // Overridden from TreeObserverBase:
- virtual void OnNodeDestroy(ViewTreeNode* node,
- DispositionChangePhase phase) OVERRIDE {
- if (phase != DISPOSITION_CHANGED)
- return;
- if (node->id() == id_)
- QuitRunLoop();
- }
-
- TransportNodeId id_;
- ViewManager* view_manager_;
-
- DISALLOW_COPY_AND_ASSIGN(NodeDestroyed_Waiter);
-};
-
-TEST_F(ViewManagerTest, NodeDestroyed) {
- ViewTreeNode* node1 = CreateNodeInParent(view_manager_1()->tree());
- TreeSizeMatchesWaiter init_waiter(view_manager_2(), 2);
-
- // |node1| will be deleted after calling Destroy() below.
- TransportNodeId id = node1->id();
- node1->Destroy();
- NodeDestroyed_Waiter destroyed_waiter(view_manager_2(), id);
-
- EXPECT_TRUE(view_manager_2()->tree()->children().empty());
-}
-
-TEST_F(ViewManagerTest, ViewManagerDestroyed) {
- ViewTreeNode* node1 = CreateNodeInParent(view_manager_1()->tree());
- TreeSizeMatchesWaiter init_waiter(view_manager_2(), 2);
-
- TransportNodeId id = node1->id();
- DestroyViewManager1();
- NodeDestroyed_Waiter destroyed_waiter(view_manager_2(), id);
-
- // tree() should still be valid, since it's owned by neither connection.
- EXPECT_TRUE(view_manager_2()->tree()->children().empty());
-}
-
} // namespace view_manager
} // namespace services
} // namespace mojo

Powered by Google App Engine
This is Rietveld 408576698