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