Chromium Code Reviews| Index: services/resource_coordinator/coordination_unit/coordination_unit_impl_unittest.cc |
| diff --git a/services/resource_coordinator/coordination_unit/coordination_unit_impl_unittest.cc b/services/resource_coordinator/coordination_unit/coordination_unit_impl_unittest.cc |
| index 2046c36263d792085fe6a5e7be7e8123371a7608..bcb830bd05e6a931dd83efd4ae6b30b73fb6e4b2 100644 |
| --- a/services/resource_coordinator/coordination_unit/coordination_unit_impl_unittest.cc |
| +++ b/services/resource_coordinator/coordination_unit/coordination_unit_impl_unittest.cc |
| @@ -141,6 +141,42 @@ TEST_F(CoordinationUnitImplTest, AddChild) { |
| } |
| } |
| +TEST_F(CoordinationUnitImplTest, RemoveChild) { |
| + CoordinationUnitID parent_cu_id(CoordinationUnitType::kWebContents, |
| + std::string()); |
| + CoordinationUnitID child_cu_id(CoordinationUnitType::kWebContents, |
|
nasko
2017/06/09 22:19:13
Can a WebContents really be a child of WebContents
matthalp
2017/06/09 22:31:58
Agreed -- Done.
|
| + std::string()); |
| + |
| + std::unique_ptr<CoordinationUnitImpl> parent_coordination_unit = |
| + coordination_unit_factory::CreateCoordinationUnit( |
| + parent_cu_id, service_context_ref_factory()->CreateRef()); |
| + std::unique_ptr<CoordinationUnitImpl> child_coordination_unit = |
| + coordination_unit_factory::CreateCoordinationUnit( |
| + child_cu_id, service_context_ref_factory()->CreateRef()); |
| + |
| + // Parent-child relationships have not been established yet. |
| + EXPECT_EQ(0u, parent_coordination_unit->children().size()); |
| + EXPECT_EQ(0u, parent_coordination_unit->parents().size()); |
| + EXPECT_EQ(0u, child_coordination_unit->children().size()); |
| + EXPECT_EQ(0u, child_coordination_unit->parents().size()); |
| + |
| + parent_coordination_unit->AddChild(child_coordination_unit->id()); |
| + |
| + // Ensure correct Parent-child relationships have been established. |
| + EXPECT_EQ(1u, parent_coordination_unit->children().size()); |
| + EXPECT_EQ(0u, parent_coordination_unit->parents().size()); |
| + EXPECT_EQ(0u, child_coordination_unit->children().size()); |
| + EXPECT_EQ(1u, child_coordination_unit->parents().size()); |
| + |
| + parent_coordination_unit->RemoveChild(child_coordination_unit->id()); |
| + |
| + // Parent-child relationships should no longer exist. |
| + EXPECT_EQ(0u, parent_coordination_unit->children().size()); |
| + EXPECT_EQ(0u, parent_coordination_unit->parents().size()); |
| + EXPECT_EQ(0u, child_coordination_unit->children().size()); |
| + EXPECT_EQ(0u, child_coordination_unit->parents().size()); |
| +} |
| + |
| TEST_F(CoordinationUnitImplTest, CyclicGraphUnits) { |
| TestCoordinationUnit parent_unit( |
| provider(), CoordinationUnitType::kWebContents, std::string()); |