OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "components/metrics/data_use_tracker.h" | 5 #include "components/metrics/data_use_tracker.h" |
6 | 6 |
7 #include "base/strings/stringprintf.h" | 7 #include "base/strings/stringprintf.h" |
8 #include "components/metrics/metrics_pref_names.h" | 8 #include "components/metrics/metrics_pref_names.h" |
9 #include "components/prefs/pref_registry_simple.h" | 9 #include "components/prefs/pref_registry_simple.h" |
10 #include "components/prefs/testing_pref_service.h" | 10 #include "components/prefs/testing_pref_service.h" |
11 #include "testing/gtest/include/gtest/gtest.h" | 11 #include "testing/gtest/include/gtest/gtest.h" |
12 | 12 |
13 namespace metrics { | 13 namespace metrics { |
14 | 14 |
15 namespace { | 15 namespace { |
16 | 16 |
17 const char kTodayStr[] = "2016-03-16"; | 17 const char kTodayStr[] = "2016-03-16"; |
18 const char kYesterdayStr[] = "2016-03-15"; | 18 const char kYesterdayStr[] = "2016-03-15"; |
19 const char kExpiredDateStr1[] = "2016-03-09"; | 19 const char kExpiredDateStr1[] = "2016-03-09"; |
20 const char kExpiredDateStr2[] = "2016-03-01"; | 20 const char kExpiredDateStr2[] = "2016-03-01"; |
21 | 21 |
22 class TestDataUsePrefService : public TestingPrefServiceSimple { | 22 class TestDataUsePrefService : public TestingPrefServiceSimple { |
23 public: | 23 public: |
24 TestDataUsePrefService() { | 24 TestDataUsePrefService() { DataUseTracker::RegisterPrefs(registry()); } |
25 registry()->RegisterDictionaryPref(metrics::prefs::kUserCellDataUse); | |
26 registry()->RegisterDictionaryPref(metrics::prefs::kUmaCellDataUse); | |
27 } | |
28 | 25 |
29 void ClearDataUsePrefs() { | 26 void ClearDataUsePrefs() { |
30 ClearPref(metrics::prefs::kUserCellDataUse); | 27 ClearPref(metrics::prefs::kUserCellDataUse); |
31 ClearPref(metrics::prefs::kUmaCellDataUse); | 28 ClearPref(metrics::prefs::kUmaCellDataUse); |
32 } | 29 } |
33 | 30 |
34 private: | 31 private: |
35 DISALLOW_COPY_AND_ASSIGN(TestDataUsePrefService); | 32 DISALLOW_COPY_AND_ASSIGN(TestDataUsePrefService); |
36 }; | 33 }; |
37 | 34 |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
178 data_use_tracker.ComputeTotalDataUse(prefs::kUmaCellDataUse); | 175 data_use_tracker.ComputeTotalDataUse(prefs::kUmaCellDataUse); |
179 EXPECT_EQ(4 * 50, uma_data_use); | 176 EXPECT_EQ(4 * 50, uma_data_use); |
180 } | 177 } |
181 | 178 |
182 TEST(DataUseTrackerTest, CheckShouldUploadLogOnCellular) { | 179 TEST(DataUseTrackerTest, CheckShouldUploadLogOnCellular) { |
183 TestDataUsePrefService local_state; | 180 TestDataUsePrefService local_state; |
184 FakeDataUseTracker data_use_tracker(&local_state); | 181 FakeDataUseTracker data_use_tracker(&local_state); |
185 local_state.ClearDataUsePrefs(); | 182 local_state.ClearDataUsePrefs(); |
186 SetPrefTestValuesOverRatio(&local_state); | 183 SetPrefTestValuesOverRatio(&local_state); |
187 | 184 |
188 bool can_upload = data_use_tracker.ShouldUploadLogOnCellular(50); | 185 bool can_upload = |
| 186 data_use_tracker.ShouldUploadLogOnCellular(50, MetricsLogUploader::UMA); |
189 EXPECT_TRUE(can_upload); | 187 EXPECT_TRUE(can_upload); |
190 can_upload = data_use_tracker.ShouldUploadLogOnCellular(100); | 188 can_upload = |
| 189 data_use_tracker.ShouldUploadLogOnCellular(100, MetricsLogUploader::UMA); |
191 EXPECT_TRUE(can_upload); | 190 EXPECT_TRUE(can_upload); |
192 can_upload = data_use_tracker.ShouldUploadLogOnCellular(150); | 191 can_upload = |
| 192 data_use_tracker.ShouldUploadLogOnCellular(150, MetricsLogUploader::UMA); |
193 EXPECT_FALSE(can_upload); | 193 EXPECT_FALSE(can_upload); |
194 | 194 |
195 local_state.ClearDataUsePrefs(); | 195 local_state.ClearDataUsePrefs(); |
196 SetPrefTestValuesValidRatio(&local_state); | 196 SetPrefTestValuesValidRatio(&local_state); |
197 can_upload = data_use_tracker.ShouldUploadLogOnCellular(100); | 197 can_upload = |
| 198 data_use_tracker.ShouldUploadLogOnCellular(100, MetricsLogUploader::UMA); |
198 EXPECT_TRUE(can_upload); | 199 EXPECT_TRUE(can_upload); |
199 // this is about 0.49% | 200 // this is about 0.49% |
200 can_upload = data_use_tracker.ShouldUploadLogOnCellular(200); | 201 can_upload = |
| 202 data_use_tracker.ShouldUploadLogOnCellular(200, MetricsLogUploader::UMA); |
201 EXPECT_TRUE(can_upload); | 203 EXPECT_TRUE(can_upload); |
202 can_upload = data_use_tracker.ShouldUploadLogOnCellular(300); | 204 can_upload = |
| 205 data_use_tracker.ShouldUploadLogOnCellular(300, MetricsLogUploader::UMA); |
203 EXPECT_FALSE(can_upload); | 206 EXPECT_FALSE(can_upload); |
204 } | 207 } |
205 | 208 |
206 } // namespace metrics | 209 } // namespace metrics |
OLD | NEW |