| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 <stdint.h> |
| 6 |
| 7 #include "base/macros.h" |
| 5 #include "chrome/browser/task_management/test_task_manager.h" | 8 #include "chrome/browser/task_management/test_task_manager.h" |
| 6 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
| 7 | 10 |
| 8 namespace task_management { | 11 namespace task_management { |
| 9 | 12 |
| 10 namespace { | 13 namespace { |
| 11 | 14 |
| 12 // Defines a concrete observer that will be used for testing. | 15 // Defines a concrete observer that will be used for testing. |
| 13 class TestObserver : public TaskManagerObserver { | 16 class TestObserver : public TaskManagerObserver { |
| 14 public: | 17 public: |
| 15 TestObserver(base::TimeDelta refresh_time, int64 resources_flags) | 18 TestObserver(base::TimeDelta refresh_time, int64_t resources_flags) |
| 16 : TaskManagerObserver(refresh_time, resources_flags) { | 19 : TaskManagerObserver(refresh_time, resources_flags) {} |
| 17 } | |
| 18 | 20 |
| 19 ~TestObserver() override {} | 21 ~TestObserver() override {} |
| 20 | 22 |
| 21 // task_management::TaskManagerObserver: | 23 // task_management::TaskManagerObserver: |
| 22 void OnTaskAdded(TaskId id) override {} | 24 void OnTaskAdded(TaskId id) override {} |
| 23 void OnTaskToBeRemoved(TaskId id) override {} | 25 void OnTaskToBeRemoved(TaskId id) override {} |
| 24 void OnTasksRefreshed(const TaskIdList& task_ids) override {} | 26 void OnTasksRefreshed(const TaskIdList& task_ids) override {} |
| 25 | 27 |
| 26 private: | 28 private: |
| 27 DISALLOW_COPY_AND_ASSIGN(TestObserver); | 29 DISALLOW_COPY_AND_ASSIGN(TestObserver); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 42 DISALLOW_COPY_AND_ASSIGN(TaskManagerObserverTest); | 44 DISALLOW_COPY_AND_ASSIGN(TaskManagerObserverTest); |
| 43 }; | 45 }; |
| 44 | 46 |
| 45 } // namespace | 47 } // namespace |
| 46 | 48 |
| 47 // Validates that the minimum refresh time to be requested is one second. Also | 49 // Validates that the minimum refresh time to be requested is one second. Also |
| 48 // validates the desired resource flags. | 50 // validates the desired resource flags. |
| 49 TEST_F(TaskManagerObserverTest, Basic) { | 51 TEST_F(TaskManagerObserverTest, Basic) { |
| 50 base::TimeDelta refresh_time1 = base::TimeDelta::FromSeconds(2); | 52 base::TimeDelta refresh_time1 = base::TimeDelta::FromSeconds(2); |
| 51 base::TimeDelta refresh_time2 = base::TimeDelta::FromMilliseconds(999); | 53 base::TimeDelta refresh_time2 = base::TimeDelta::FromMilliseconds(999); |
| 52 int64 flags1 = RefreshType::REFRESH_TYPE_CPU | | 54 int64_t flags1 = RefreshType::REFRESH_TYPE_CPU | |
| 53 RefreshType::REFRESH_TYPE_WEBCACHE_STATS | | 55 RefreshType::REFRESH_TYPE_WEBCACHE_STATS | |
| 54 RefreshType::REFRESH_TYPE_HANDLES; | 56 RefreshType::REFRESH_TYPE_HANDLES; |
| 55 int64 flags2 = RefreshType::REFRESH_TYPE_MEMORY | | 57 int64_t flags2 = |
| 56 RefreshType::REFRESH_TYPE_NACL; | 58 RefreshType::REFRESH_TYPE_MEMORY | RefreshType::REFRESH_TYPE_NACL; |
| 57 | 59 |
| 58 TestObserver observer1(refresh_time1, flags1); | 60 TestObserver observer1(refresh_time1, flags1); |
| 59 TestObserver observer2(refresh_time2, flags2); | 61 TestObserver observer2(refresh_time2, flags2); |
| 60 | 62 |
| 61 EXPECT_EQ(refresh_time1, observer1.desired_refresh_time()); | 63 EXPECT_EQ(refresh_time1, observer1.desired_refresh_time()); |
| 62 EXPECT_EQ(base::TimeDelta::FromSeconds(1), observer2.desired_refresh_time()); | 64 EXPECT_EQ(base::TimeDelta::FromSeconds(1), observer2.desired_refresh_time()); |
| 63 EXPECT_EQ(flags1, observer1.desired_resources_flags()); | 65 EXPECT_EQ(flags1, observer1.desired_resources_flags()); |
| 64 EXPECT_EQ(flags2, observer2.desired_resources_flags()); | 66 EXPECT_EQ(flags2, observer2.desired_resources_flags()); |
| 65 } | 67 } |
| 66 | 68 |
| 67 // Validates the behavior of the task manager in response to adding and | 69 // Validates the behavior of the task manager in response to adding and |
| 68 // removing observers. | 70 // removing observers. |
| 69 TEST_F(TaskManagerObserverTest, TaskManagerResponseToObservers) { | 71 TEST_F(TaskManagerObserverTest, TaskManagerResponseToObservers) { |
| 70 EXPECT_EQ(base::TimeDelta::Max(), task_manager().GetRefreshTime()); | 72 EXPECT_EQ(base::TimeDelta::Max(), task_manager().GetRefreshTime()); |
| 71 EXPECT_EQ(0, task_manager().GetEnabledFlags()); | 73 EXPECT_EQ(0, task_manager().GetEnabledFlags()); |
| 72 | 74 |
| 73 // Add a bunch of observers and make sure the task manager responds correctly. | 75 // Add a bunch of observers and make sure the task manager responds correctly. |
| 74 base::TimeDelta refresh_time1 = base::TimeDelta::FromSeconds(3); | 76 base::TimeDelta refresh_time1 = base::TimeDelta::FromSeconds(3); |
| 75 base::TimeDelta refresh_time2 = base::TimeDelta::FromSeconds(10); | 77 base::TimeDelta refresh_time2 = base::TimeDelta::FromSeconds(10); |
| 76 base::TimeDelta refresh_time3 = base::TimeDelta::FromSeconds(3); | 78 base::TimeDelta refresh_time3 = base::TimeDelta::FromSeconds(3); |
| 77 base::TimeDelta refresh_time4 = base::TimeDelta::FromSeconds(2); | 79 base::TimeDelta refresh_time4 = base::TimeDelta::FromSeconds(2); |
| 78 int64 flags1 = RefreshType::REFRESH_TYPE_CPU | | 80 int64_t flags1 = RefreshType::REFRESH_TYPE_CPU | |
| 79 RefreshType::REFRESH_TYPE_WEBCACHE_STATS | | 81 RefreshType::REFRESH_TYPE_WEBCACHE_STATS | |
| 80 RefreshType::REFRESH_TYPE_HANDLES; | 82 RefreshType::REFRESH_TYPE_HANDLES; |
| 81 int64 flags2 = RefreshType::REFRESH_TYPE_MEMORY | | 83 int64_t flags2 = |
| 82 RefreshType::REFRESH_TYPE_NACL; | 84 RefreshType::REFRESH_TYPE_MEMORY | RefreshType::REFRESH_TYPE_NACL; |
| 83 int64 flags3 = RefreshType::REFRESH_TYPE_MEMORY | | 85 int64_t flags3 = |
| 84 RefreshType::REFRESH_TYPE_CPU; | 86 RefreshType::REFRESH_TYPE_MEMORY | RefreshType::REFRESH_TYPE_CPU; |
| 85 int64 flags4 = RefreshType::REFRESH_TYPE_GPU_MEMORY; | 87 int64_t flags4 = RefreshType::REFRESH_TYPE_GPU_MEMORY; |
| 86 | 88 |
| 87 TestObserver observer1(refresh_time1, flags1); | 89 TestObserver observer1(refresh_time1, flags1); |
| 88 TestObserver observer2(refresh_time2, flags2); | 90 TestObserver observer2(refresh_time2, flags2); |
| 89 TestObserver observer3(refresh_time3, flags3); | 91 TestObserver observer3(refresh_time3, flags3); |
| 90 TestObserver observer4(refresh_time4, flags4); | 92 TestObserver observer4(refresh_time4, flags4); |
| 91 | 93 |
| 92 task_manager().AddObserver(&observer1); | 94 task_manager().AddObserver(&observer1); |
| 93 task_manager().AddObserver(&observer2); | 95 task_manager().AddObserver(&observer2); |
| 94 task_manager().AddObserver(&observer3); | 96 task_manager().AddObserver(&observer3); |
| 95 task_manager().AddObserver(&observer4); | 97 task_manager().AddObserver(&observer4); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 108 EXPECT_EQ(flags1 | flags2, task_manager().GetEnabledFlags()); | 110 EXPECT_EQ(flags1 | flags2, task_manager().GetEnabledFlags()); |
| 109 task_manager().RemoveObserver(&observer2); | 111 task_manager().RemoveObserver(&observer2); |
| 110 EXPECT_EQ(refresh_time1, task_manager().GetRefreshTime()); | 112 EXPECT_EQ(refresh_time1, task_manager().GetRefreshTime()); |
| 111 EXPECT_EQ(flags1, task_manager().GetEnabledFlags()); | 113 EXPECT_EQ(flags1, task_manager().GetEnabledFlags()); |
| 112 task_manager().RemoveObserver(&observer1); | 114 task_manager().RemoveObserver(&observer1); |
| 113 EXPECT_EQ(base::TimeDelta::Max(), task_manager().GetRefreshTime()); | 115 EXPECT_EQ(base::TimeDelta::Max(), task_manager().GetRefreshTime()); |
| 114 EXPECT_EQ(0, task_manager().GetEnabledFlags()); | 116 EXPECT_EQ(0, task_manager().GetEnabledFlags()); |
| 115 } | 117 } |
| 116 | 118 |
| 117 } // namespace task_management | 119 } // namespace task_management |
| OLD | NEW |