Chromium Code Reviews| Index: content/browser/memory/memory_coordinator_unittest.cc |
| diff --git a/content/browser/memory/memory_coordinator_unittest.cc b/content/browser/memory/memory_coordinator_unittest.cc |
| index 6b88b852da53299e3270a24e427271821b953ef4..01cc14ce9a5cccbeb6416ece1621299299e0aff0 100644 |
| --- a/content/browser/memory/memory_coordinator_unittest.cc |
| +++ b/content/browser/memory/memory_coordinator_unittest.cc |
| @@ -26,7 +26,7 @@ void RunUntilIdle() { |
| class MockChildMemoryCoordinator : public mojom::ChildMemoryCoordinator { |
| public: |
| MockChildMemoryCoordinator() |
| - : state_(mojom::MemoryState::UNKNOWN), |
| + : state_(mojom::MemoryState::NORMAL), |
|
bashi
2016/12/09 03:11:16
I had to change the initial state to NORMAL becaus
|
| on_state_change_calls_(0) {} |
| ~MockChildMemoryCoordinator() override {} |
| @@ -138,4 +138,33 @@ TEST_F(MemoryCoordinatorTest, SetMemoryStateDelivered) { |
| EXPECT_EQ(mojom::MemoryState::THROTTLED, cmc2->state()); |
| } |
| +TEST_F(MemoryCoordinatorTest, SetChildMemoryState) { |
| + TestMemoryCoordinator mc; |
| + auto cmc = mc.CreateChildMemoryCoordinator(1); |
| + auto iter = mc.children().find(1); |
| + ASSERT_TRUE(iter != mc.children().end()); |
| + |
| + // Foreground |
| + iter->second.is_visible = true; |
| + EXPECT_TRUE(mc.SetChildMemoryState(1, mojom::MemoryState::NORMAL)); |
| + EXPECT_EQ(mojom::MemoryState::NORMAL, cmc->state()); |
| + EXPECT_TRUE(mc.SetChildMemoryState(1, mojom::MemoryState::THROTTLED)); |
| + EXPECT_EQ(mojom::MemoryState::THROTTLED, cmc->state()); |
| + EXPECT_TRUE(mc.SetChildMemoryState(1, mojom::MemoryState::SUSPENDED)); |
| + EXPECT_EQ(mojom::MemoryState::THROTTLED, cmc->state()); |
| + |
| + // Background |
| + iter->second.is_visible = false; |
| + EXPECT_TRUE(mc.SetChildMemoryState(1, mojom::MemoryState::NORMAL)); |
| +#if defined(OS_ANDROID) |
| + EXPECT_EQ(mojom::MemoryState::THROTTLED, cmc->state()); |
| +#else |
| + EXPECT_EQ(mojom::MemoryState::NORMAL, cmc->state()); |
| +#endif |
| + EXPECT_TRUE(mc.SetChildMemoryState(1, mojom::MemoryState::THROTTLED)); |
| + EXPECT_EQ(mojom::MemoryState::THROTTLED, cmc->state()); |
| + EXPECT_TRUE(mc.SetChildMemoryState(1, mojom::MemoryState::SUSPENDED)); |
| + EXPECT_EQ(mojom::MemoryState::SUSPENDED, cmc->state()); |
| +} |
| + |
| } // namespace content |