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 "base/timer/mock_timer.h" | 5 #include "chrome/browser/task_management/test_task_manager.h" |
6 #include "chrome/browser/task_management/task_manager_interface.h" | |
7 #include "testing/gtest/include/gtest/gtest.h" | 6 #include "testing/gtest/include/gtest/gtest.h" |
8 | 7 |
9 namespace task_management { | 8 namespace task_management { |
10 | 9 |
11 namespace { | 10 namespace { |
12 | 11 |
13 // This is a partial stub implementation to test the behavior of the base class | |
14 // TaskManagerInterface in response to adding and removing observers. | |
15 class TestTaskManager : public TaskManagerInterface { | |
16 public: | |
17 TestTaskManager() | |
18 : TaskManagerInterface(), | |
19 handle_(), | |
20 id_(), | |
21 title_(), | |
22 icon_(), | |
23 ids_() { | |
24 set_timer_for_testing(scoped_ptr<base::Timer>(new base::MockTimer(true, | |
25 true))); | |
26 } | |
27 ~TestTaskManager() override {} | |
28 | |
29 // task_management::TaskManagerInterface: | |
30 void ActivateTask(TaskId task_id) override {} | |
31 double GetCpuUsage(TaskId task_id) const override { return 0.0; } | |
32 int64 GetPhysicalMemoryUsage(TaskId task_id) const override { return -1; } | |
33 int64 GetPrivateMemoryUsage(TaskId task_id) const override { return -1; } | |
34 int64 GetSharedMemoryUsage(TaskId task_id) const override { return -1; } | |
35 int64 GetGpuMemoryUsage(TaskId task_id, bool* has_duplicates) const override { | |
36 return -1; | |
37 } | |
38 int GetIdleWakeupsPerSecond(TaskId task_id) const override { return -1; } | |
39 int GetNaClDebugStubPort(TaskId task_id) const override { return -1; } | |
40 void GetGDIHandles(TaskId task_id, | |
41 int64* current, | |
42 int64* peak) const override {} | |
43 void GetUSERHandles(TaskId task_id, | |
44 int64* current, | |
45 int64* peak) const override {} | |
46 const base::string16& GetTitle(TaskId task_id) const override { | |
47 return title_; | |
48 } | |
49 base::string16 GetProfileName(TaskId task_id) const override { | |
50 return base::string16(); | |
51 } | |
52 const gfx::ImageSkia& GetIcon(TaskId task_id) const override { return icon_; } | |
53 const base::ProcessHandle& GetProcessHandle(TaskId task_id) const override { | |
54 return handle_; | |
55 } | |
56 const base::ProcessId& GetProcessId(TaskId task_id) const override { | |
57 return id_; | |
58 } | |
59 Task::Type GetType(TaskId task_id) const override { return Task::UNKNOWN; } | |
60 int64 GetNetworkUsage(TaskId task_id) const override { return -1; } | |
61 int64 GetProcessTotalNetworkUsage(TaskId task_id) const override { | |
62 return -1; | |
63 } | |
64 int64 GetSqliteMemoryUsed(TaskId task_id) const override { return -1; } | |
65 bool GetV8Memory(TaskId task_id, | |
66 int64* allocated, | |
67 int64* used) const override { return false; } | |
68 bool GetWebCacheStats( | |
69 TaskId task_id, | |
70 blink::WebCache::ResourceTypeStats* stats) const override { | |
71 return false; | |
72 } | |
73 const TaskIdList& GetTaskIdsList() const override { | |
74 return ids_; | |
75 } | |
76 size_t GetNumberOfTasksOnSameProcess(TaskId task_id) const override { | |
77 return 1; | |
78 } | |
79 | |
80 base::TimeDelta GetRefreshTime() { | |
81 return GetCurrentRefreshTime(); | |
82 } | |
83 | |
84 int64 GetEnabledFlags() { | |
85 return enabled_resources_flags(); | |
86 } | |
87 | |
88 protected: | |
89 // task_management::TaskManager: | |
90 void Refresh() override {} | |
91 void StartUpdating() override {} | |
92 void StopUpdating() override {} | |
93 | |
94 private: | |
95 base::ProcessHandle handle_; | |
96 base::ProcessId id_; | |
97 base::string16 title_; | |
98 gfx::ImageSkia icon_; | |
99 TaskIdList ids_; | |
100 | |
101 DISALLOW_COPY_AND_ASSIGN(TestTaskManager); | |
102 }; | |
103 | |
104 // Defines a concrete observer that will be used for testing. | 12 // Defines a concrete observer that will be used for testing. |
105 class TestObserver : public TaskManagerObserver { | 13 class TestObserver : public TaskManagerObserver { |
106 public: | 14 public: |
107 TestObserver(base::TimeDelta refresh_time, int64 resources_flags) | 15 TestObserver(base::TimeDelta refresh_time, int64 resources_flags) |
108 : TaskManagerObserver(refresh_time, resources_flags) { | 16 : TaskManagerObserver(refresh_time, resources_flags) { |
109 } | 17 } |
110 | 18 |
111 ~TestObserver() override {} | 19 ~TestObserver() override {} |
112 | 20 |
113 // task_management::TaskManagerObserver: | 21 // task_management::TaskManagerObserver: |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 EXPECT_EQ(flags1 | flags2, task_manager().GetEnabledFlags()); | 108 EXPECT_EQ(flags1 | flags2, task_manager().GetEnabledFlags()); |
201 task_manager().RemoveObserver(&observer2); | 109 task_manager().RemoveObserver(&observer2); |
202 EXPECT_EQ(refresh_time1, task_manager().GetRefreshTime()); | 110 EXPECT_EQ(refresh_time1, task_manager().GetRefreshTime()); |
203 EXPECT_EQ(flags1, task_manager().GetEnabledFlags()); | 111 EXPECT_EQ(flags1, task_manager().GetEnabledFlags()); |
204 task_manager().RemoveObserver(&observer1); | 112 task_manager().RemoveObserver(&observer1); |
205 EXPECT_EQ(base::TimeDelta::Max(), task_manager().GetRefreshTime()); | 113 EXPECT_EQ(base::TimeDelta::Max(), task_manager().GetRefreshTime()); |
206 EXPECT_EQ(0, task_manager().GetEnabledFlags()); | 114 EXPECT_EQ(0, task_manager().GetEnabledFlags()); |
207 } | 115 } |
208 | 116 |
209 } // namespace task_management | 117 } // namespace task_management |
OLD | NEW |