OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/translate/core/common/translate_metrics.h" | 5 #include "components/translate/core/common/translate_metrics.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
(...skipping 19 matching lines...) Expand all Loading... |
30 class MetricsRecorder { | 30 class MetricsRecorder { |
31 public: | 31 public: |
32 explicit MetricsRecorder(const char* key) : key_(key) { | 32 explicit MetricsRecorder(const char* key) : key_(key) { |
33 StatisticsRecorder::Initialize(); | 33 StatisticsRecorder::Initialize(); |
34 | 34 |
35 HistogramBase* histogram = StatisticsRecorder::FindHistogram(key_); | 35 HistogramBase* histogram = StatisticsRecorder::FindHistogram(key_); |
36 if (histogram) | 36 if (histogram) |
37 base_samples_ = histogram->SnapshotSamples(); | 37 base_samples_ = histogram->SnapshotSamples(); |
38 } | 38 } |
39 | 39 |
40 void CheckLanguage(translate::MetricsNameIndex index, | 40 void CheckLanguage(const char* metric_name, |
41 int expected_not_provided, | 41 int expected_not_provided, |
42 int expected_valid, | 42 int expected_valid, |
43 int expected_invalid) { | 43 int expected_invalid) { |
44 ASSERT_EQ(translate::GetMetricsName(index), key_); | 44 ASSERT_EQ(metric_name, key_); |
45 | 45 |
46 Snapshot(); | 46 Snapshot(); |
47 | 47 |
48 EXPECT_EQ(expected_not_provided, | 48 EXPECT_EQ(expected_not_provided, |
49 GetCountWithoutSnapshot(translate::LANGUAGE_NOT_PROVIDED)); | 49 GetCountWithoutSnapshot(translate::LANGUAGE_NOT_PROVIDED)); |
50 EXPECT_EQ(expected_valid, | 50 EXPECT_EQ(expected_valid, |
51 GetCountWithoutSnapshot(translate::LANGUAGE_VALID)); | 51 GetCountWithoutSnapshot(translate::LANGUAGE_VALID)); |
52 EXPECT_EQ(expected_invalid, | 52 EXPECT_EQ(expected_invalid, |
53 GetCountWithoutSnapshot(translate::LANGUAGE_INVALID)); | 53 GetCountWithoutSnapshot(translate::LANGUAGE_INVALID)); |
54 } | 54 } |
55 | 55 |
56 void CheckLanguageVerification(int expected_cld_disabled, | 56 void CheckLanguageVerification(int expected_cld_disabled, |
57 int expected_cld_only, | 57 int expected_cld_only, |
58 int expected_unknown, | 58 int expected_unknown, |
59 int expected_cld_agree, | 59 int expected_cld_agree, |
60 int expected_cld_disagree, | 60 int expected_cld_disagree, |
61 int expected_trust_cld, | 61 int expected_trust_cld, |
62 int expected_cld_complement_sub_code) { | 62 int expected_cld_complement_sub_code) { |
63 ASSERT_EQ(translate::GetMetricsName(translate::UMA_LANGUAGE_VERIFICATION), | 63 ASSERT_EQ(translate::metrics_internal::kTranslateLanguageVerification, |
64 key_); | 64 key_); |
65 | 65 |
66 Snapshot(); | 66 Snapshot(); |
67 | 67 |
68 EXPECT_EQ( | 68 EXPECT_EQ( |
69 expected_cld_disabled, | 69 expected_cld_disabled, |
70 GetCountWithoutSnapshot(translate::LANGUAGE_VERIFICATION_CLD_DISABLED)); | 70 GetCountWithoutSnapshot(translate::LANGUAGE_VERIFICATION_CLD_DISABLED)); |
71 EXPECT_EQ( | 71 EXPECT_EQ( |
72 expected_cld_only, | 72 expected_cld_only, |
73 GetCountWithoutSnapshot(translate::LANGUAGE_VERIFICATION_CLD_ONLY)); | 73 GetCountWithoutSnapshot(translate::LANGUAGE_VERIFICATION_CLD_ONLY)); |
74 EXPECT_EQ( | 74 EXPECT_EQ(expected_unknown, GetCountWithoutSnapshot( |
75 expected_unknown, | 75 translate::LANGUAGE_VERIFICATION_UNKNOWN)); |
76 GetCountWithoutSnapshot(translate::LANGUAGE_VERIFICATION_UNKNOWN)); | |
77 EXPECT_EQ( | 76 EXPECT_EQ( |
78 expected_cld_agree, | 77 expected_cld_agree, |
79 GetCountWithoutSnapshot(translate::LANGUAGE_VERIFICATION_CLD_AGREE)); | 78 GetCountWithoutSnapshot(translate::LANGUAGE_VERIFICATION_CLD_AGREE)); |
80 EXPECT_EQ( | 79 EXPECT_EQ( |
81 expected_cld_disagree, | 80 expected_cld_disagree, |
82 GetCountWithoutSnapshot(translate::LANGUAGE_VERIFICATION_CLD_DISAGREE)); | 81 GetCountWithoutSnapshot(translate::LANGUAGE_VERIFICATION_CLD_DISAGREE)); |
83 EXPECT_EQ( | 82 EXPECT_EQ( |
84 expected_trust_cld, | 83 expected_trust_cld, |
85 GetCountWithoutSnapshot(translate::LANGUAGE_VERIFICATION_TRUST_CLD)); | 84 GetCountWithoutSnapshot(translate::LANGUAGE_VERIFICATION_TRUST_CLD)); |
86 EXPECT_EQ(expected_cld_complement_sub_code, | 85 EXPECT_EQ(expected_cld_complement_sub_code, |
87 GetCountWithoutSnapshot( | 86 GetCountWithoutSnapshot( |
88 translate::LANGUAGE_VERIFICATION_CLD_COMPLEMENT_SUB_CODE)); | 87 translate::LANGUAGE_VERIFICATION_CLD_COMPLEMENT_SUB_CODE)); |
89 } | 88 } |
90 | 89 |
91 void CheckScheme(int expected_http, int expected_https, int expected_others) { | 90 void CheckScheme(int expected_http, int expected_https, int expected_others) { |
92 ASSERT_EQ(translate::GetMetricsName(translate::UMA_PAGE_SCHEME), key_); | 91 ASSERT_EQ(translate::metrics_internal::kTranslatePageScheme, key_); |
93 | 92 |
94 Snapshot(); | 93 Snapshot(); |
95 | 94 |
96 EXPECT_EQ(expected_http, GetCountWithoutSnapshot(translate::SCHEME_HTTP)); | 95 EXPECT_EQ(expected_http, GetCountWithoutSnapshot(translate::SCHEME_HTTP)); |
97 EXPECT_EQ(expected_https, GetCountWithoutSnapshot(translate::SCHEME_HTTPS)); | 96 EXPECT_EQ(expected_https, GetCountWithoutSnapshot(translate::SCHEME_HTTPS)); |
98 EXPECT_EQ(expected_others, | 97 EXPECT_EQ(expected_others, |
99 GetCountWithoutSnapshot(translate::SCHEME_OTHERS)); | 98 GetCountWithoutSnapshot(translate::SCHEME_OTHERS)); |
100 } | 99 } |
101 | 100 |
102 void CheckTotalCount(int count) { | 101 void CheckTotalCount(int count) { |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
154 std::unique_ptr<HistogramSamples> base_samples_; | 153 std::unique_ptr<HistogramSamples> base_samples_; |
155 std::unique_ptr<HistogramSamples> samples_; | 154 std::unique_ptr<HistogramSamples> samples_; |
156 | 155 |
157 DISALLOW_COPY_AND_ASSIGN(MetricsRecorder); | 156 DISALLOW_COPY_AND_ASSIGN(MetricsRecorder); |
158 }; | 157 }; |
159 | 158 |
160 } // namespace | 159 } // namespace |
161 | 160 |
162 TEST(TranslateMetricsTest, ReportContentLanguage) { | 161 TEST(TranslateMetricsTest, ReportContentLanguage) { |
163 MetricsRecorder recorder( | 162 MetricsRecorder recorder( |
164 translate::GetMetricsName(translate::UMA_CONTENT_LANGUAGE)); | 163 translate::metrics_internal::kTranslateContentLanguage); |
165 | 164 |
166 recorder.CheckLanguage(translate::UMA_CONTENT_LANGUAGE, 0, 0, 0); | 165 recorder.CheckLanguage(translate::metrics_internal::kTranslateContentLanguage, |
| 166 0, 0, 0); |
167 translate::ReportContentLanguage(std::string(), std::string()); | 167 translate::ReportContentLanguage(std::string(), std::string()); |
168 recorder.CheckLanguage(translate::UMA_CONTENT_LANGUAGE, 1, 0, 0); | 168 recorder.CheckLanguage(translate::metrics_internal::kTranslateContentLanguage, |
| 169 1, 0, 0); |
169 translate::ReportContentLanguage("ja_JP", "ja-JP"); | 170 translate::ReportContentLanguage("ja_JP", "ja-JP"); |
170 recorder.CheckLanguage(translate::UMA_CONTENT_LANGUAGE, 1, 0, 1); | 171 recorder.CheckLanguage(translate::metrics_internal::kTranslateContentLanguage, |
| 172 1, 0, 1); |
171 translate::ReportContentLanguage("en", "en"); | 173 translate::ReportContentLanguage("en", "en"); |
172 recorder.CheckLanguage(translate::UMA_CONTENT_LANGUAGE, 1, 1, 1); | 174 recorder.CheckLanguage(translate::metrics_internal::kTranslateContentLanguage, |
| 175 1, 1, 1); |
173 } | 176 } |
174 | 177 |
175 TEST(TranslateMetricsTest, ReportHtmlLang) { | 178 TEST(TranslateMetricsTest, ReportHtmlLang) { |
176 MetricsRecorder recorder(translate::GetMetricsName(translate::UMA_HTML_LANG)); | 179 MetricsRecorder recorder(translate::metrics_internal::kTranslateHtmlLang); |
177 | 180 |
178 recorder.CheckLanguage(translate::UMA_HTML_LANG, 0, 0, 0); | 181 recorder.CheckLanguage(translate::metrics_internal::kTranslateHtmlLang, 0, 0, |
| 182 0); |
179 translate::ReportHtmlLang(std::string(), std::string()); | 183 translate::ReportHtmlLang(std::string(), std::string()); |
180 recorder.CheckLanguage(translate::UMA_HTML_LANG, 1, 0, 0); | 184 recorder.CheckLanguage(translate::metrics_internal::kTranslateHtmlLang, 1, 0, |
| 185 0); |
181 translate::ReportHtmlLang("ja_JP", "ja-JP"); | 186 translate::ReportHtmlLang("ja_JP", "ja-JP"); |
182 recorder.CheckLanguage(translate::UMA_HTML_LANG, 1, 0, 1); | 187 recorder.CheckLanguage(translate::metrics_internal::kTranslateHtmlLang, 1, 0, |
| 188 1); |
183 translate::ReportHtmlLang("en", "en"); | 189 translate::ReportHtmlLang("en", "en"); |
184 recorder.CheckLanguage(translate::UMA_HTML_LANG, 1, 1, 1); | 190 recorder.CheckLanguage(translate::metrics_internal::kTranslateHtmlLang, 1, 1, |
| 191 1); |
185 } | 192 } |
186 | 193 |
187 TEST(TranslateMetricsTest, ReportLanguageVerification) { | 194 TEST(TranslateMetricsTest, ReportLanguageVerification) { |
188 MetricsRecorder recorder( | 195 MetricsRecorder recorder( |
189 translate::GetMetricsName(translate::UMA_LANGUAGE_VERIFICATION)); | 196 translate::metrics_internal::kTranslateLanguageVerification); |
190 | 197 |
191 recorder.CheckLanguageVerification(0, 0, 0, 0, 0, 0, 0); | 198 recorder.CheckLanguageVerification(0, 0, 0, 0, 0, 0, 0); |
192 translate::ReportLanguageVerification( | 199 translate::ReportLanguageVerification( |
193 translate::LANGUAGE_VERIFICATION_CLD_DISABLED); | 200 translate::LANGUAGE_VERIFICATION_CLD_DISABLED); |
194 recorder.CheckLanguageVerification(1, 0, 0, 0, 0, 0, 0); | 201 recorder.CheckLanguageVerification(1, 0, 0, 0, 0, 0, 0); |
195 translate::ReportLanguageVerification( | 202 translate::ReportLanguageVerification( |
196 translate::LANGUAGE_VERIFICATION_CLD_ONLY); | 203 translate::LANGUAGE_VERIFICATION_CLD_ONLY); |
197 recorder.CheckLanguageVerification(1, 1, 0, 0, 0, 0, 0); | 204 recorder.CheckLanguageVerification(1, 1, 0, 0, 0, 0, 0); |
198 translate::ReportLanguageVerification( | 205 translate::ReportLanguageVerification( |
199 translate::LANGUAGE_VERIFICATION_UNKNOWN); | 206 translate::LANGUAGE_VERIFICATION_UNKNOWN); |
200 recorder.CheckLanguageVerification(1, 1, 1, 0, 0, 0, 0); | 207 recorder.CheckLanguageVerification(1, 1, 1, 0, 0, 0, 0); |
201 translate::ReportLanguageVerification( | 208 translate::ReportLanguageVerification( |
202 translate::LANGUAGE_VERIFICATION_CLD_AGREE); | 209 translate::LANGUAGE_VERIFICATION_CLD_AGREE); |
203 recorder.CheckLanguageVerification(1, 1, 1, 1, 0, 0, 0); | 210 recorder.CheckLanguageVerification(1, 1, 1, 1, 0, 0, 0); |
204 translate::ReportLanguageVerification( | 211 translate::ReportLanguageVerification( |
205 translate::LANGUAGE_VERIFICATION_CLD_DISAGREE); | 212 translate::LANGUAGE_VERIFICATION_CLD_DISAGREE); |
206 recorder.CheckLanguageVerification(1, 1, 1, 1, 1, 0, 0); | 213 recorder.CheckLanguageVerification(1, 1, 1, 1, 1, 0, 0); |
207 translate::ReportLanguageVerification( | 214 translate::ReportLanguageVerification( |
208 translate::LANGUAGE_VERIFICATION_TRUST_CLD); | 215 translate::LANGUAGE_VERIFICATION_TRUST_CLD); |
209 recorder.CheckLanguageVerification(1, 1, 1, 1, 1, 1, 0); | 216 recorder.CheckLanguageVerification(1, 1, 1, 1, 1, 1, 0); |
210 translate::ReportLanguageVerification( | 217 translate::ReportLanguageVerification( |
211 translate::LANGUAGE_VERIFICATION_CLD_COMPLEMENT_SUB_CODE); | 218 translate::LANGUAGE_VERIFICATION_CLD_COMPLEMENT_SUB_CODE); |
212 recorder.CheckLanguageVerification(1, 1, 1, 1, 1, 1, 1); | 219 recorder.CheckLanguageVerification(1, 1, 1, 1, 1, 1, 1); |
213 } | 220 } |
214 | 221 |
215 TEST(TranslateMetricsTest, ReportTimeToBeReady) { | 222 TEST(TranslateMetricsTest, ReportTimeToBeReady) { |
216 MetricsRecorder recorder( | 223 MetricsRecorder recorder( |
217 translate::GetMetricsName(translate::UMA_TIME_TO_BE_READY)); | 224 translate::metrics_internal::kTranslateTimeToBeReady); |
218 recorder.CheckTotalCount(0); | 225 recorder.CheckTotalCount(0); |
219 translate::ReportTimeToBeReady(3.14); | 226 translate::ReportTimeToBeReady(3.14); |
220 recorder.CheckValueInLogs(3.14); | 227 recorder.CheckValueInLogs(3.14); |
221 recorder.CheckTotalCount(1); | 228 recorder.CheckTotalCount(1); |
222 } | 229 } |
223 | 230 |
224 TEST(TranslateMetricsTest, ReportTimeToLoad) { | 231 TEST(TranslateMetricsTest, ReportTimeToLoad) { |
225 MetricsRecorder recorder( | 232 MetricsRecorder recorder(translate::metrics_internal::kTranslateTimeToLoad); |
226 translate::GetMetricsName(translate::UMA_TIME_TO_LOAD)); | |
227 recorder.CheckTotalCount(0); | 233 recorder.CheckTotalCount(0); |
228 translate::ReportTimeToLoad(573.0); | 234 translate::ReportTimeToLoad(573.0); |
229 recorder.CheckValueInLogs(573.0); | 235 recorder.CheckValueInLogs(573.0); |
230 recorder.CheckTotalCount(1); | 236 recorder.CheckTotalCount(1); |
231 } | 237 } |
232 | 238 |
233 TEST(TranslateMetricsTest, ReportTimeToTranslate) { | 239 TEST(TranslateMetricsTest, ReportTimeToTranslate) { |
234 MetricsRecorder recorder( | 240 MetricsRecorder recorder( |
235 translate::GetMetricsName(translate::UMA_TIME_TO_TRANSLATE)); | 241 translate::metrics_internal::kTranslateTimeToTranslate); |
236 recorder.CheckTotalCount(0); | 242 recorder.CheckTotalCount(0); |
237 translate::ReportTimeToTranslate(4649.0); | 243 translate::ReportTimeToTranslate(4649.0); |
238 recorder.CheckValueInLogs(4649.0); | 244 recorder.CheckValueInLogs(4649.0); |
239 recorder.CheckTotalCount(1); | 245 recorder.CheckTotalCount(1); |
240 } | 246 } |
241 | 247 |
242 TEST(TranslateMetricsTest, ReportUserActionDuration) { | 248 TEST(TranslateMetricsTest, ReportUserActionDuration) { |
243 MetricsRecorder recorder( | 249 MetricsRecorder recorder( |
244 translate::GetMetricsName(translate::UMA_USER_ACTION_DURATION)); | 250 translate::metrics_internal::kTranslateUserActionDuration); |
245 recorder.CheckTotalCount(0); | 251 recorder.CheckTotalCount(0); |
246 TimeTicks begin = TimeTicks::Now(); | 252 TimeTicks begin = TimeTicks::Now(); |
247 TimeTicks end = begin + base::TimeDelta::FromSeconds(3776); | 253 TimeTicks end = begin + base::TimeDelta::FromSeconds(3776); |
248 translate::ReportUserActionDuration(begin, end); | 254 translate::ReportUserActionDuration(begin, end); |
249 recorder.CheckValueInLogs(3776000.0); | 255 recorder.CheckValueInLogs(3776000.0); |
250 recorder.CheckTotalCount(1); | 256 recorder.CheckTotalCount(1); |
251 } | 257 } |
252 | 258 |
253 TEST(TranslateMetricsTest, ReportPageScheme) { | 259 TEST(TranslateMetricsTest, ReportPageScheme) { |
254 MetricsRecorder recorder( | 260 MetricsRecorder recorder(translate::metrics_internal::kTranslatePageScheme); |
255 translate::GetMetricsName(translate::UMA_PAGE_SCHEME)); | |
256 recorder.CheckScheme(0, 0, 0); | 261 recorder.CheckScheme(0, 0, 0); |
257 translate::ReportPageScheme("http"); | 262 translate::ReportPageScheme("http"); |
258 recorder.CheckScheme(1, 0, 0); | 263 recorder.CheckScheme(1, 0, 0); |
259 translate::ReportPageScheme("https"); | 264 translate::ReportPageScheme("https"); |
260 recorder.CheckScheme(1, 1, 0); | 265 recorder.CheckScheme(1, 1, 0); |
261 translate::ReportPageScheme("ftp"); | 266 translate::ReportPageScheme("ftp"); |
262 recorder.CheckScheme(1, 1, 1); | 267 recorder.CheckScheme(1, 1, 1); |
263 } | 268 } |
264 | 269 |
265 TEST(TranslateMetricsTest, ReportSimilarLanguageMatch) { | 270 TEST(TranslateMetricsTest, ReportSimilarLanguageMatch) { |
266 MetricsRecorder recorder( | 271 MetricsRecorder recorder( |
267 translate::GetMetricsName(translate::UMA_SIMILAR_LANGUAGE_MATCH)); | 272 translate::metrics_internal::kTranslateSimilarLanguageMatch); |
268 recorder.CheckTotalCount(0); | 273 recorder.CheckTotalCount(0); |
269 EXPECT_EQ(0, recorder.GetCount(kTrue)); | 274 EXPECT_EQ(0, recorder.GetCount(kTrue)); |
270 EXPECT_EQ(0, recorder.GetCount(kFalse)); | 275 EXPECT_EQ(0, recorder.GetCount(kFalse)); |
271 translate::ReportSimilarLanguageMatch(true); | 276 translate::ReportSimilarLanguageMatch(true); |
272 EXPECT_EQ(1, recorder.GetCount(kTrue)); | 277 EXPECT_EQ(1, recorder.GetCount(kTrue)); |
273 EXPECT_EQ(0, recorder.GetCount(kFalse)); | 278 EXPECT_EQ(0, recorder.GetCount(kFalse)); |
274 translate::ReportSimilarLanguageMatch(false); | 279 translate::ReportSimilarLanguageMatch(false); |
275 EXPECT_EQ(1, recorder.GetCount(kTrue)); | 280 EXPECT_EQ(1, recorder.GetCount(kTrue)); |
276 EXPECT_EQ(1, recorder.GetCount(kFalse)); | 281 EXPECT_EQ(1, recorder.GetCount(kFalse)); |
277 } | 282 } |
278 | 283 |
279 TEST(TranslateMetricsTest, ReportLanguageDetectionTime) { | 284 TEST(TranslateMetricsTest, ReportLanguageDetectionTime) { |
280 MetricsRecorder recorder( | 285 MetricsRecorder recorder( |
281 translate::GetMetricsName(translate::UMA_LANGUAGE_DETECTION)); | 286 translate::metrics_internal::kRenderer4LanguageDetection); |
282 recorder.CheckTotalCount(0); | 287 recorder.CheckTotalCount(0); |
283 TimeTicks begin = TimeTicks::Now(); | 288 TimeTicks begin = TimeTicks::Now(); |
284 TimeTicks end = begin + base::TimeDelta::FromMicroseconds(9009); | 289 TimeTicks end = begin + base::TimeDelta::FromMicroseconds(9009); |
285 translate::ReportLanguageDetectionTime(begin, end); | 290 translate::ReportLanguageDetectionTime(begin, end); |
286 recorder.CheckValueInLogs(9.009); | 291 recorder.CheckValueInLogs(9.009); |
287 recorder.CheckTotalCount(1); | 292 recorder.CheckTotalCount(1); |
288 } | 293 } |
289 | 294 |
290 TEST(TranslateMetricsTest, ReportLanguageDetectionConflict) { | 295 TEST(TranslateMetricsTest, ReportLanguageDetectionConflict) { |
291 MetricsRecorder recorder( | 296 MetricsRecorder recorder( |
292 translate::GetMetricsName(translate::UMA_LANGUAGE_DETECTION_CONFLICT)); | 297 translate::metrics_internal::kTranslateLanguageDetectionConflict); |
293 recorder.CheckTotalCount(0); | 298 recorder.CheckTotalCount(0); |
294 | 299 |
295 translate::ReportLanguageDetectionConflict("en", "es"); | 300 translate::ReportLanguageDetectionConflict("en", "es"); |
296 recorder.CheckTotalCount(1); | 301 recorder.CheckTotalCount(1); |
297 EXPECT_EQ(recorder.GetCount(base::HashMetricName("en,es")), 1); | 302 EXPECT_EQ(recorder.GetCount(base::HashMetricName("en,es")), 1); |
298 | 303 |
299 translate::ReportLanguageDetectionConflict("en", "es"); | 304 translate::ReportLanguageDetectionConflict("en", "es"); |
300 recorder.CheckTotalCount(2); | 305 recorder.CheckTotalCount(2); |
301 EXPECT_EQ(recorder.GetCount(base::HashMetricName("en,es")), 2); | 306 EXPECT_EQ(recorder.GetCount(base::HashMetricName("en,es")), 2); |
302 | 307 |
303 translate::ReportLanguageDetectionConflict("en-AU", "ru-Latn"); | 308 translate::ReportLanguageDetectionConflict("en-AU", "ru-Latn"); |
304 recorder.CheckTotalCount(3); | 309 recorder.CheckTotalCount(3); |
305 EXPECT_EQ(recorder.GetCount(base::HashMetricName("en-AU,ru-Latn")), 1); | 310 EXPECT_EQ(recorder.GetCount(base::HashMetricName("en-AU,ru-Latn")), 1); |
306 | 311 |
307 // We don't track "en-XX" or "en-YY" as page codes. | 312 // We don't track "en-XX" or "en-YY" as page codes. |
308 translate::ReportLanguageDetectionConflict("en-XX", "es"); | 313 translate::ReportLanguageDetectionConflict("en-XX", "es"); |
309 translate::ReportLanguageDetectionConflict("en-YY", "es"); | 314 translate::ReportLanguageDetectionConflict("en-YY", "es"); |
310 recorder.CheckTotalCount(5); | 315 recorder.CheckTotalCount(5); |
311 EXPECT_EQ(recorder.GetCount(base::HashMetricName("other,es")), 2); | 316 EXPECT_EQ(recorder.GetCount(base::HashMetricName("other,es")), 2); |
312 } | 317 } |
313 | 318 |
314 } // namespace translate | 319 } // namespace translate |
OLD | NEW |