Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(202)

Side by Side Diff: ash/metrics/task_switch_metrics_recorder_unittest.cc

Issue 2160833002: Adds WmShell::RecordTaskSwitchMetric() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ash/metrics/task_switch_metrics_recorder.cc ('k') | ash/metrics/user_metrics_recorder.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "ash/metrics/task_switch_metrics_recorder.h" 5 #include "ash/metrics/task_switch_metrics_recorder.h"
6 6
7 #include "base/test/histogram_tester.h" 7 #include "base/test/histogram_tester.h"
8 #include "testing/gtest/include/gtest/gtest.h" 8 #include "testing/gtest/include/gtest/gtest.h"
9 9
10 namespace ash { 10 namespace ash {
11 namespace { 11 namespace {
12 12
13 // Test fixture for the TaskSwitchMetricsRecorder class. 13 // Test fixture for the TaskSwitchMetricsRecorder class.
14 class TaskSwitchMetricsRecorderTest : public testing::Test { 14 class TaskSwitchMetricsRecorderTest : public testing::Test {
15 public: 15 public:
16 TaskSwitchMetricsRecorderTest(); 16 TaskSwitchMetricsRecorderTest();
17 ~TaskSwitchMetricsRecorderTest() override; 17 ~TaskSwitchMetricsRecorderTest() override;
18 18
19 // Wrapper to the test targets OnTaskSwitch(TaskSwitchSource) method. 19 // Wrapper to the test targets OnTaskSwitch(TaskSwitchSource) method.
20 void OnTaskSwitch( 20 void OnTaskSwitch(TaskSwitchSource task_switch_source);
21 TaskSwitchMetricsRecorder::TaskSwitchSource task_switch_source);
22 21
23 // testing::Test: 22 // testing::Test:
24 void SetUp() override; 23 void SetUp() override;
25 void TearDown() override; 24 void TearDown() override;
26 25
27 protected: 26 protected:
28 // Used to verify recorded data. 27 // Used to verify recorded data.
29 std::unique_ptr<base::HistogramTester> histogram_tester_; 28 std::unique_ptr<base::HistogramTester> histogram_tester_;
30 29
31 // The test target. 30 // The test target.
32 std::unique_ptr<TaskSwitchMetricsRecorder> task_switch_metrics_recorder_; 31 std::unique_ptr<TaskSwitchMetricsRecorder> task_switch_metrics_recorder_;
33 32
34 private: 33 private:
35 DISALLOW_COPY_AND_ASSIGN(TaskSwitchMetricsRecorderTest); 34 DISALLOW_COPY_AND_ASSIGN(TaskSwitchMetricsRecorderTest);
36 }; 35 };
37 36
38 TaskSwitchMetricsRecorderTest::TaskSwitchMetricsRecorderTest() {} 37 TaskSwitchMetricsRecorderTest::TaskSwitchMetricsRecorderTest() {}
39 38
40 TaskSwitchMetricsRecorderTest::~TaskSwitchMetricsRecorderTest() {} 39 TaskSwitchMetricsRecorderTest::~TaskSwitchMetricsRecorderTest() {}
41 40
42 void TaskSwitchMetricsRecorderTest::OnTaskSwitch( 41 void TaskSwitchMetricsRecorderTest::OnTaskSwitch(
43 TaskSwitchMetricsRecorder::TaskSwitchSource task_switch_source) { 42 TaskSwitchSource task_switch_source) {
44 task_switch_metrics_recorder_->OnTaskSwitch(task_switch_source); 43 task_switch_metrics_recorder_->OnTaskSwitch(task_switch_source);
45 } 44 }
46 45
47 void TaskSwitchMetricsRecorderTest::SetUp() { 46 void TaskSwitchMetricsRecorderTest::SetUp() {
48 testing::Test::SetUp(); 47 testing::Test::SetUp();
49 48
50 histogram_tester_.reset(new base::HistogramTester()); 49 histogram_tester_.reset(new base::HistogramTester());
51 task_switch_metrics_recorder_.reset(new TaskSwitchMetricsRecorder()); 50 task_switch_metrics_recorder_.reset(new TaskSwitchMetricsRecorder());
52 } 51 }
53 52
54 void TaskSwitchMetricsRecorderTest::TearDown() { 53 void TaskSwitchMetricsRecorderTest::TearDown() {
55 testing::Test::TearDown(); 54 testing::Test::TearDown();
56 55
57 histogram_tester_.reset(); 56 histogram_tester_.reset();
58 task_switch_metrics_recorder_.reset(); 57 task_switch_metrics_recorder_.reset();
59 } 58 }
60 59
61 } // namespace 60 } // namespace
62 61
63 // Verifies that task switches from a non ANY source also add data to the 62 // Verifies that task switches from a non ANY source also add data to the
64 // Ash.TimeBetweenTaskSwitches histogram. 63 // Ash.TimeBetweenTaskSwitches histogram.
65 TEST_F(TaskSwitchMetricsRecorderTest, 64 TEST_F(TaskSwitchMetricsRecorderTest,
66 VerifyTaskSwitchesRecordInAllTaskSwitchHistogram) { 65 VerifyTaskSwitchesRecordInAllTaskSwitchHistogram) {
67 const std::string kHistogramName = "Ash.TimeBetweenTaskSwitches"; 66 const std::string kHistogramName = "Ash.TimeBetweenTaskSwitches";
68 67
69 OnTaskSwitch(TaskSwitchMetricsRecorder::SHELF); 68 OnTaskSwitch(TaskSwitchSource::SHELF);
70 OnTaskSwitch(TaskSwitchMetricsRecorder::SHELF); 69 OnTaskSwitch(TaskSwitchSource::SHELF);
71 histogram_tester_->ExpectTotalCount(kHistogramName, 1); 70 histogram_tester_->ExpectTotalCount(kHistogramName, 1);
72 } 71 }
73 72
74 // Verifies that the TaskSwitchMetricsRecorder::DESKTOP source adds data to the 73 // Verifies that the TaskSwitchSource::DESKTOP source adds data to the
75 // Ash.Desktop.TimeBetweenNavigateToTaskSwitches histogram. 74 // Ash.Desktop.TimeBetweenNavigateToTaskSwitches histogram.
76 TEST_F(TaskSwitchMetricsRecorderTest, VerifyTaskSwitchesForDesktopAreRecorded) { 75 TEST_F(TaskSwitchMetricsRecorderTest, VerifyTaskSwitchesForDesktopAreRecorded) {
77 const std::string kHistogramName = 76 const std::string kHistogramName =
78 "Ash.Desktop.TimeBetweenNavigateToTaskSwitches"; 77 "Ash.Desktop.TimeBetweenNavigateToTaskSwitches";
79 78
80 OnTaskSwitch(TaskSwitchMetricsRecorder::DESKTOP); 79 OnTaskSwitch(TaskSwitchSource::DESKTOP);
81 OnTaskSwitch(TaskSwitchMetricsRecorder::DESKTOP); 80 OnTaskSwitch(TaskSwitchSource::DESKTOP);
82 histogram_tester_->ExpectTotalCount(kHistogramName, 1); 81 histogram_tester_->ExpectTotalCount(kHistogramName, 1);
83 82
84 OnTaskSwitch(TaskSwitchMetricsRecorder::DESKTOP); 83 OnTaskSwitch(TaskSwitchSource::DESKTOP);
85 histogram_tester_->ExpectTotalCount(kHistogramName, 2); 84 histogram_tester_->ExpectTotalCount(kHistogramName, 2);
86 } 85 }
87 86
88 // Verifies that the TaskSwitchMetricsRecorder::WINDOW_CYCLE_CONTROLLER source 87 // Verifies that the TaskSwitchSource::WINDOW_CYCLE_CONTROLLER source
89 // adds data to the Ash.WindowCycleController.TimeBetweenTaskSwitches histogram. 88 // adds data to the Ash.WindowCycleController.TimeBetweenTaskSwitches histogram.
90 TEST_F(TaskSwitchMetricsRecorderTest, 89 TEST_F(TaskSwitchMetricsRecorderTest,
91 VerifyTaskSwitchesForWindowCycleControllerAreRecorded) { 90 VerifyTaskSwitchesForWindowCycleControllerAreRecorded) {
92 const std::string kHistogramName = 91 const std::string kHistogramName =
93 "Ash.WindowCycleController.TimeBetweenTaskSwitches"; 92 "Ash.WindowCycleController.TimeBetweenTaskSwitches";
94 93
95 OnTaskSwitch(TaskSwitchMetricsRecorder::WINDOW_CYCLE_CONTROLLER); 94 OnTaskSwitch(TaskSwitchSource::WINDOW_CYCLE_CONTROLLER);
96 OnTaskSwitch(TaskSwitchMetricsRecorder::WINDOW_CYCLE_CONTROLLER); 95 OnTaskSwitch(TaskSwitchSource::WINDOW_CYCLE_CONTROLLER);
97 histogram_tester_->ExpectTotalCount(kHistogramName, 1); 96 histogram_tester_->ExpectTotalCount(kHistogramName, 1);
98 97
99 OnTaskSwitch(TaskSwitchMetricsRecorder::WINDOW_CYCLE_CONTROLLER); 98 OnTaskSwitch(TaskSwitchSource::WINDOW_CYCLE_CONTROLLER);
100 histogram_tester_->ExpectTotalCount(kHistogramName, 2); 99 histogram_tester_->ExpectTotalCount(kHistogramName, 2);
101 } 100 }
102 101
103 // Verifies that the TaskSwitchMetricsRecorder::SHELF source adds data to the 102 // Verifies that the TaskSwitchSource::SHELF source adds data to the
104 // Ash.Shelf.TimeBetweenNavigateToTaskSwitches histogram. 103 // Ash.Shelf.TimeBetweenNavigateToTaskSwitches histogram.
105 TEST_F(TaskSwitchMetricsRecorderTest, 104 TEST_F(TaskSwitchMetricsRecorderTest,
106 VerifyTaskSwitchesFromTheShelfAreRecorded) { 105 VerifyTaskSwitchesFromTheShelfAreRecorded) {
107 const std::string kHistogramName = 106 const std::string kHistogramName =
108 "Ash.Shelf.TimeBetweenNavigateToTaskSwitches"; 107 "Ash.Shelf.TimeBetweenNavigateToTaskSwitches";
109 108
110 OnTaskSwitch(TaskSwitchMetricsRecorder::SHELF); 109 OnTaskSwitch(TaskSwitchSource::SHELF);
111 OnTaskSwitch(TaskSwitchMetricsRecorder::SHELF); 110 OnTaskSwitch(TaskSwitchSource::SHELF);
112 histogram_tester_->ExpectTotalCount(kHistogramName, 1); 111 histogram_tester_->ExpectTotalCount(kHistogramName, 1);
113 112
114 OnTaskSwitch(TaskSwitchMetricsRecorder::SHELF); 113 OnTaskSwitch(TaskSwitchSource::SHELF);
115 histogram_tester_->ExpectTotalCount(kHistogramName, 2); 114 histogram_tester_->ExpectTotalCount(kHistogramName, 2);
116 } 115 }
117 116
118 // Verifies that the TaskSwitchMetricsRecorder::TAB_STRIP source adds data to 117 // Verifies that the TaskSwitchSource::TAB_STRIP source adds data to
119 // the Ash.Tab.TimeBetweenSwitchToExistingTabUserActions histogram. 118 // the Ash.Tab.TimeBetweenSwitchToExistingTabUserActions histogram.
120 TEST_F(TaskSwitchMetricsRecorderTest, 119 TEST_F(TaskSwitchMetricsRecorderTest,
121 VerifyTaskSwitchesFromTheTabStripAreRecorded) { 120 VerifyTaskSwitchesFromTheTabStripAreRecorded) {
122 const std::string kHistogramName = 121 const std::string kHistogramName =
123 "Ash.Tab.TimeBetweenSwitchToExistingTabUserActions"; 122 "Ash.Tab.TimeBetweenSwitchToExistingTabUserActions";
124 123
125 OnTaskSwitch(TaskSwitchMetricsRecorder::TAB_STRIP); 124 OnTaskSwitch(TaskSwitchSource::TAB_STRIP);
126 OnTaskSwitch(TaskSwitchMetricsRecorder::TAB_STRIP); 125 OnTaskSwitch(TaskSwitchSource::TAB_STRIP);
127 histogram_tester_->ExpectTotalCount(kHistogramName, 1); 126 histogram_tester_->ExpectTotalCount(kHistogramName, 1);
128 127
129 OnTaskSwitch(TaskSwitchMetricsRecorder::TAB_STRIP); 128 OnTaskSwitch(TaskSwitchSource::TAB_STRIP);
130 histogram_tester_->ExpectTotalCount(kHistogramName, 2); 129 histogram_tester_->ExpectTotalCount(kHistogramName, 2);
131 } 130 }
132 131
133 // Verifies that the TaskSwitchMetricsRecorder::OVERVIEW_MODE source adds data 132 // Verifies that the TaskSwitchSource::OVERVIEW_MODE source adds data
134 // to the Ash.WindowSelector.TimeBetweenActiveWindowChanges histogram. 133 // to the Ash.WindowSelector.TimeBetweenActiveWindowChanges histogram.
135 TEST_F(TaskSwitchMetricsRecorderTest, 134 TEST_F(TaskSwitchMetricsRecorderTest,
136 VerifyTaskSwitchesFromOverviewModeAreRecorded) { 135 VerifyTaskSwitchesFromOverviewModeAreRecorded) {
137 const std::string kHistogramName = 136 const std::string kHistogramName =
138 "Ash.WindowSelector.TimeBetweenActiveWindowChanges"; 137 "Ash.WindowSelector.TimeBetweenActiveWindowChanges";
139 138
140 OnTaskSwitch(TaskSwitchMetricsRecorder::OVERVIEW_MODE); 139 OnTaskSwitch(TaskSwitchSource::OVERVIEW_MODE);
141 OnTaskSwitch(TaskSwitchMetricsRecorder::OVERVIEW_MODE); 140 OnTaskSwitch(TaskSwitchSource::OVERVIEW_MODE);
142 histogram_tester_->ExpectTotalCount(kHistogramName, 1); 141 histogram_tester_->ExpectTotalCount(kHistogramName, 1);
143 142
144 OnTaskSwitch(TaskSwitchMetricsRecorder::OVERVIEW_MODE); 143 OnTaskSwitch(TaskSwitchSource::OVERVIEW_MODE);
145 histogram_tester_->ExpectTotalCount(kHistogramName, 2); 144 histogram_tester_->ExpectTotalCount(kHistogramName, 2);
146 } 145 }
147 146
148 // Verifies that the TaskSwitchMetricsRecorder::APP_LIST source adds data to the 147 // Verifies that the TaskSwitchSource::APP_LIST source adds data to the
149 // Ash.AppList.TimeBetweenTaskSwitches histogram. 148 // Ash.AppList.TimeBetweenTaskSwitches histogram.
150 TEST_F(TaskSwitchMetricsRecorderTest, 149 TEST_F(TaskSwitchMetricsRecorderTest,
151 VerifyTaskSwitchesFromApplistAreRecorded) { 150 VerifyTaskSwitchesFromApplistAreRecorded) {
152 const std::string kHistogramName = "Ash.AppList.TimeBetweenTaskSwitches"; 151 const std::string kHistogramName = "Ash.AppList.TimeBetweenTaskSwitches";
153 152
154 OnTaskSwitch(TaskSwitchMetricsRecorder::APP_LIST); 153 OnTaskSwitch(TaskSwitchSource::APP_LIST);
155 OnTaskSwitch(TaskSwitchMetricsRecorder::APP_LIST); 154 OnTaskSwitch(TaskSwitchSource::APP_LIST);
156 histogram_tester_->ExpectTotalCount(kHistogramName, 1); 155 histogram_tester_->ExpectTotalCount(kHistogramName, 1);
157 156
158 OnTaskSwitch(TaskSwitchMetricsRecorder::APP_LIST); 157 OnTaskSwitch(TaskSwitchSource::APP_LIST);
159 histogram_tester_->ExpectTotalCount(kHistogramName, 2); 158 histogram_tester_->ExpectTotalCount(kHistogramName, 2);
160 } 159 }
161 160
162 } // namespace ash 161 } // namespace ash
OLDNEW
« no previous file with comments | « ash/metrics/task_switch_metrics_recorder.cc ('k') | ash/metrics/user_metrics_recorder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698