OLD | NEW |
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/bind.h" | 8 #include "base/bind.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 TransportViewId old_view_id, | 216 TransportViewId old_view_id, |
217 TransportChangeId change_id) OVERRIDE { | 217 TransportChangeId change_id) OVERRIDE { |
218 changes_.push_back( | 218 changes_.push_back( |
219 base::StringPrintf( | 219 base::StringPrintf( |
220 "change_id=%d node=%s new_view=%s old_view=%s", | 220 "change_id=%d node=%s new_view=%s old_view=%s", |
221 static_cast<int>(change_id), NodeIdToString(node).c_str(), | 221 static_cast<int>(change_id), NodeIdToString(node).c_str(), |
222 NodeIdToString(new_view_id).c_str(), | 222 NodeIdToString(new_view_id).c_str(), |
223 NodeIdToString(old_view_id).c_str())); | 223 NodeIdToString(old_view_id).c_str())); |
224 QuitIfNecessary(); | 224 QuitIfNecessary(); |
225 } | 225 } |
| 226 virtual void OnNodeDeleted(TransportNodeId node, |
| 227 TransportChangeId change_id) OVERRIDE { |
| 228 changes_.push_back( |
| 229 base::StringPrintf( |
| 230 "change_id=%d node=%s deleted", |
| 231 static_cast<int>(change_id), NodeIdToString(node).c_str())); |
| 232 QuitIfNecessary(); |
| 233 } |
226 | 234 |
227 void QuitIfNecessary() { | 235 void QuitIfNecessary() { |
228 if (quit_count_ > 0 && --quit_count_ == 0) | 236 if (quit_count_ > 0 && --quit_count_ == 0) |
229 current_run_loop->Quit(); | 237 current_run_loop->Quit(); |
230 } | 238 } |
231 | 239 |
232 TransportConnectionId id_; | 240 TransportConnectionId id_; |
233 | 241 |
234 // Used to determine when/if to quit the run loop. | 242 // Used to determine when/if to quit the run loop. |
235 size_t quit_count_; | 243 size_t quit_count_; |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
438 changes[0]); | 446 changes[0]); |
439 } | 447 } |
440 | 448 |
441 // Delete 1. | 449 // Delete 1. |
442 { | 450 { |
443 AllocationScope scope; | 451 AllocationScope scope; |
444 ASSERT_TRUE(DeleteNode(view_manager_.get(), | 452 ASSERT_TRUE(DeleteNode(view_manager_.get(), |
445 CreateNodeId(client_.id(), 1), | 453 CreateNodeId(client_.id(), 1), |
446 121)); | 454 121)); |
447 Changes changes(client_.GetAndClearChanges()); | 455 Changes changes(client_.GetAndClearChanges()); |
448 ASSERT_EQ(2u, changes.size()); | 456 ASSERT_EQ(3u, changes.size()); |
449 EXPECT_EQ("change_id=121 node=1,1 new_parent=null old_parent=0,1", | 457 EXPECT_EQ("change_id=121 node=1,1 new_parent=null old_parent=0,1", |
450 changes[0]); | 458 changes[0]); |
451 EXPECT_EQ("change_id=121 node=1,2 new_parent=null old_parent=1,1", | 459 EXPECT_EQ("change_id=121 node=1,2 new_parent=null old_parent=1,1", |
452 changes[1]); | 460 changes[1]); |
| 461 EXPECT_EQ("change_id=121 node=1,1 deleted", changes[2]); |
453 } | 462 } |
454 } | 463 } |
455 | 464 |
456 // Assertions around setting a view. | 465 // Assertions around setting a view. |
457 TEST_F(ViewManagerConnectionTest, SetView) { | 466 TEST_F(ViewManagerConnectionTest, SetView) { |
458 ASSERT_TRUE(CreateNode(view_manager_.get(), 1)); | 467 ASSERT_TRUE(CreateNode(view_manager_.get(), 1)); |
459 ASSERT_TRUE(CreateNode(view_manager_.get(), 2)); | 468 ASSERT_TRUE(CreateNode(view_manager_.get(), 2)); |
460 ASSERT_TRUE(CreateView(view_manager_.get(), 11)); | 469 ASSERT_TRUE(CreateView(view_manager_.get(), 11)); |
461 EXPECT_TRUE(client_.GetAndClearChanges().empty()); | 470 EXPECT_TRUE(client_.GetAndClearChanges().empty()); |
462 | 471 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
500 CreateViewId(client_.id(), 11), | 509 CreateViewId(client_.id(), 11), |
501 21)); | 510 21)); |
502 client_.GetAndClearChanges(); | 511 client_.GetAndClearChanges(); |
503 | 512 |
504 // Delete node 1. | 513 // Delete node 1. |
505 { | 514 { |
506 ASSERT_TRUE(DeleteNode(view_manager_.get(), | 515 ASSERT_TRUE(DeleteNode(view_manager_.get(), |
507 CreateNodeId(client_.id(), 1), | 516 CreateNodeId(client_.id(), 1), |
508 121)); | 517 121)); |
509 Changes changes(client_.GetAndClearChanges()); | 518 Changes changes(client_.GetAndClearChanges()); |
510 ASSERT_EQ(1u, changes.size()); | 519 ASSERT_EQ(2u, changes.size()); |
511 EXPECT_EQ("change_id=121 node=1,1 new_view=null old_view=1,11", | 520 EXPECT_EQ("change_id=121 node=1,1 new_view=null old_view=1,11", |
512 changes[0]); | 521 changes[0]); |
| 522 EXPECT_EQ("change_id=121 node=1,1 deleted", changes[1]); |
513 } | 523 } |
514 | 524 |
515 // Set view 11 on node 2. | 525 // Set view 11 on node 2. |
516 { | 526 { |
517 ASSERT_TRUE(SetView(view_manager_.get(), | 527 ASSERT_TRUE(SetView(view_manager_.get(), |
518 CreateNodeId(client_.id(), 2), | 528 CreateNodeId(client_.id(), 2), |
519 CreateViewId(client_.id(), 11), | 529 CreateViewId(client_.id(), 11), |
520 22)); | 530 22)); |
521 Changes changes(client_.GetAndClearChanges()); | 531 Changes changes(client_.GetAndClearChanges()); |
522 ASSERT_EQ(1u, changes.size()); | 532 ASSERT_EQ(1u, changes.size()); |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
621 GetNodeTree(view_manager2_.get(), CreateNodeId(1, 1), &nodes); | 631 GetNodeTree(view_manager2_.get(), CreateNodeId(1, 1), &nodes); |
622 ASSERT_EQ(2u, nodes.size()); | 632 ASSERT_EQ(2u, nodes.size()); |
623 EXPECT_EQ("node=1,1 parent=0,1 view=null", nodes[0].ToString()); | 633 EXPECT_EQ("node=1,1 parent=0,1 view=null", nodes[0].ToString()); |
624 EXPECT_EQ("node=1,11 parent=1,1 view=1,51", nodes[1].ToString()); | 634 EXPECT_EQ("node=1,11 parent=1,1 view=1,51", nodes[1].ToString()); |
625 } | 635 } |
626 } | 636 } |
627 | 637 |
628 } // namespace view_manager | 638 } // namespace view_manager |
629 } // namespace services | 639 } // namespace services |
630 } // namespace mojo | 640 } // namespace mojo |
OLD | NEW |