OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chrome/renderer/translate/translate_helper_metrics.h" | 5 #include "chrome/renderer/translate/translate_helper_metrics.h" |
6 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
10 #include "base/metrics/histogram_samples.h" | 10 #include "base/metrics/histogram_samples.h" |
(...skipping 15 matching lines...) Expand all Loading... |
26 : key_(key), | 26 : key_(key), |
27 base_samples_(NULL), | 27 base_samples_(NULL), |
28 samples_(NULL) { | 28 samples_(NULL) { |
29 StatisticsRecorder::Initialize(); | 29 StatisticsRecorder::Initialize(); |
30 | 30 |
31 HistogramBase* histogram = StatisticsRecorder::FindHistogram(key_); | 31 HistogramBase* histogram = StatisticsRecorder::FindHistogram(key_); |
32 if (histogram) | 32 if (histogram) |
33 base_samples_ = histogram->SnapshotSamples(); | 33 base_samples_ = histogram->SnapshotSamples(); |
34 } | 34 } |
35 | 35 |
36 void CheckContentLanguage(int expected_not_provided, | 36 void CheckLanguage(TranslateHelperMetrics::MetricsNameIndex index, |
37 int expected_valid, | 37 int expected_not_provided, |
38 int expected_invalid) { | 38 int expected_valid, |
39 ASSERT_EQ(TranslateHelperMetrics::GetMetricsName( | 39 int expected_invalid) { |
40 TranslateHelperMetrics::UMA_CONTENT_LANGUAGE), key_); | 40 ASSERT_EQ(TranslateHelperMetrics::GetMetricsName(index), key_); |
41 | 41 |
42 Snapshot(); | 42 Snapshot(); |
43 | 43 |
44 EXPECT_EQ( | 44 EXPECT_EQ(expected_not_provided, |
45 expected_not_provided, | 45 GetCount(TranslateHelperMetrics::LANGUAGE_NOT_PROVIDED)); |
46 GetCount(TranslateHelperMetrics::CONTENT_LANGUAGE_NOT_PROVIDED)); | 46 EXPECT_EQ(expected_valid, |
47 EXPECT_EQ( | 47 GetCount(TranslateHelperMetrics::LANGUAGE_VALID)); |
48 expected_valid, | 48 EXPECT_EQ(expected_invalid, |
49 GetCount(TranslateHelperMetrics::CONTENT_LANGUAGE_VALID)); | 49 GetCount(TranslateHelperMetrics::LANGUAGE_INVALID)); |
50 EXPECT_EQ( | |
51 expected_invalid, | |
52 GetCount(TranslateHelperMetrics::CONTENT_LANGUAGE_INVALID)); | |
53 } | 50 } |
54 | 51 |
55 void CheckLanguageVerification(int expected_cld_disabled, | 52 void CheckLanguageVerification(int expected_cld_disabled, |
56 int expected_cld_only, | 53 int expected_cld_only, |
57 int expected_unknown, | 54 int expected_unknown, |
58 int expected_cld_agree, | 55 int expected_cld_agree, |
59 int expected_cld_disagree) { | 56 int expected_cld_disagree) { |
60 ASSERT_EQ(TranslateHelperMetrics::GetMetricsName( | 57 ASSERT_EQ(TranslateHelperMetrics::GetMetricsName( |
61 TranslateHelperMetrics::UMA_LANGUAGE_VERIFICATION), key_); | 58 TranslateHelperMetrics::UMA_LANGUAGE_VERIFICATION), key_); |
62 | 59 |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 | 129 |
133 DISALLOW_COPY_AND_ASSIGN(MetricsRecorder); | 130 DISALLOW_COPY_AND_ASSIGN(MetricsRecorder); |
134 }; | 131 }; |
135 | 132 |
136 } // namespace | 133 } // namespace |
137 | 134 |
138 TEST(TranslateHelperMetricsTest, ReportContentLanguage) { | 135 TEST(TranslateHelperMetricsTest, ReportContentLanguage) { |
139 MetricsRecorder recorder(TranslateHelperMetrics::GetMetricsName( | 136 MetricsRecorder recorder(TranslateHelperMetrics::GetMetricsName( |
140 TranslateHelperMetrics::UMA_CONTENT_LANGUAGE)); | 137 TranslateHelperMetrics::UMA_CONTENT_LANGUAGE)); |
141 | 138 |
142 recorder.CheckContentLanguage(0, 0, 0); | 139 recorder.CheckLanguage(TranslateHelperMetrics::UMA_CONTENT_LANGUAGE, 0, 0, 0); |
143 TranslateHelperMetrics::ReportContentLanguage(std::string(), std::string()); | 140 TranslateHelperMetrics::ReportContentLanguage(std::string(), std::string()); |
144 recorder.CheckContentLanguage(1, 0, 0); | 141 recorder.CheckLanguage(TranslateHelperMetrics::UMA_CONTENT_LANGUAGE, 1, 0, 0); |
145 TranslateHelperMetrics::ReportContentLanguage("ja_JP", "ja-JP"); | 142 TranslateHelperMetrics::ReportContentLanguage("ja_JP", "ja-JP"); |
146 recorder.CheckContentLanguage(1, 0, 1); | 143 recorder.CheckLanguage(TranslateHelperMetrics::UMA_CONTENT_LANGUAGE, 1, 0, 1); |
147 TranslateHelperMetrics::ReportContentLanguage("en", "en"); | 144 TranslateHelperMetrics::ReportContentLanguage("en", "en"); |
148 recorder.CheckContentLanguage(1, 1, 1); | 145 recorder.CheckLanguage(TranslateHelperMetrics::UMA_CONTENT_LANGUAGE, 1, 1, 1); |
| 146 } |
| 147 |
| 148 TEST(TranslateHelperMetricsTest, ReportHtmlLang) { |
| 149 MetricsRecorder recorder(TranslateHelperMetrics::GetMetricsName( |
| 150 TranslateHelperMetrics::UMA_HTML_LANG)); |
| 151 |
| 152 recorder.CheckLanguage(TranslateHelperMetrics::UMA_HTML_LANG, 0, 0, 0); |
| 153 TranslateHelperMetrics::ReportHtmlLang(std::string(), std::string()); |
| 154 recorder.CheckLanguage(TranslateHelperMetrics::UMA_HTML_LANG, 1, 0, 0); |
| 155 TranslateHelperMetrics::ReportHtmlLang("ja_JP", "ja-JP"); |
| 156 recorder.CheckLanguage(TranslateHelperMetrics::UMA_HTML_LANG, 1, 0, 1); |
| 157 TranslateHelperMetrics::ReportHtmlLang("en", "en"); |
| 158 recorder.CheckLanguage(TranslateHelperMetrics::UMA_HTML_LANG, 1, 1, 1); |
149 } | 159 } |
150 | 160 |
151 TEST(TranslateHelperMetricsTest, ReportLanguageVerification) { | 161 TEST(TranslateHelperMetricsTest, ReportLanguageVerification) { |
152 MetricsRecorder recorder(TranslateHelperMetrics::GetMetricsName( | 162 MetricsRecorder recorder(TranslateHelperMetrics::GetMetricsName( |
153 TranslateHelperMetrics::UMA_LANGUAGE_VERIFICATION)); | 163 TranslateHelperMetrics::UMA_LANGUAGE_VERIFICATION)); |
154 | 164 |
155 recorder.CheckLanguageVerification(0, 0, 0, 0, 0); | 165 recorder.CheckLanguageVerification(0, 0, 0, 0, 0); |
156 TranslateHelperMetrics::ReportLanguageVerification( | 166 TranslateHelperMetrics::ReportLanguageVerification( |
157 TranslateHelperMetrics::LANGUAGE_VERIFICATION_CLD_DISABLED); | 167 TranslateHelperMetrics::LANGUAGE_VERIFICATION_CLD_DISABLED); |
158 recorder.CheckLanguageVerification(1, 0, 0, 0, 0); | 168 recorder.CheckLanguageVerification(1, 0, 0, 0, 0); |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 TranslateHelperMetrics::UMA_LANGUAGE_DETECTION)); | 225 TranslateHelperMetrics::UMA_LANGUAGE_DETECTION)); |
216 recorder.CheckTotalCount(0); | 226 recorder.CheckTotalCount(0); |
217 TimeTicks begin = TimeTicks::Now(); | 227 TimeTicks begin = TimeTicks::Now(); |
218 TimeTicks end = begin + base::TimeDelta::FromMicroseconds(9009); | 228 TimeTicks end = begin + base::TimeDelta::FromMicroseconds(9009); |
219 TranslateHelperMetrics::ReportLanguageDetectionTime(begin, end); | 229 TranslateHelperMetrics::ReportLanguageDetectionTime(begin, end); |
220 recorder.CheckValueInLogs(9.009); | 230 recorder.CheckValueInLogs(9.009); |
221 recorder.CheckTotalCount(1); | 231 recorder.CheckTotalCount(1); |
222 } | 232 } |
223 | 233 |
224 #endif // defined(ENABLE_LANGUAGE_DETECTION) | 234 #endif // defined(ENABLE_LANGUAGE_DETECTION) |
OLD | NEW |