Chromium Code Reviews| Index: components/autofill/core/browser/autofill_metrics_unittest.cc |
| diff --git a/components/autofill/core/browser/autofill_metrics_unittest.cc b/components/autofill/core/browser/autofill_metrics_unittest.cc |
| index c9fd25a046a0fc56ec6e47151179f525531f1c81..0b22bcbed1da1e69cf34ef0850fdbb4a89817f33 100644 |
| --- a/components/autofill/core/browser/autofill_metrics_unittest.cc |
| +++ b/components/autofill/core/browser/autofill_metrics_unittest.cc |
| @@ -429,18 +429,34 @@ TEST_F(AutofillMetricsTest, QualityMetrics) { |
| heuristic_types.push_back(PHONE_HOME_NUMBER); |
| server_types.push_back(EMAIL_ADDRESS); |
| + // TYPE_MISMATCH_EMPTY |
| test::CreateTestFormField("Empty", "empty", "", "text", &field); |
| field.is_autofilled = false; |
| form.fields.push_back(field); |
| heuristic_types.push_back(NAME_FULL); |
| server_types.push_back(NAME_FIRST); |
| + // TYPE_MATCH_EMPTY |
| + test::CreateTestFormField("Empty2", "empty2", "", "text", &field); |
| + field.is_autofilled = false; |
| + form.fields.push_back(field); |
| + heuristic_types.push_back(UNKNOWN_TYPE); |
| + server_types.push_back(NO_SERVER_DATA); |
| + |
| + // TYPE_MISMASTCH_UNKNOWN |
| test::CreateTestFormField("Unknown", "unknown", "garbage", "text", &field); |
| field.is_autofilled = false; |
| form.fields.push_back(field); |
| heuristic_types.push_back(PHONE_HOME_NUMBER); |
| server_types.push_back(EMAIL_ADDRESS); |
| + // TYPE_MATCH_UNKNOWN |
| + test::CreateTestFormField("Unknown2", "unknown2", "garbage", "text", &field); |
| + field.is_autofilled = false; |
| + form.fields.push_back(field); |
| + heuristic_types.push_back(UNKNOWN_TYPE); |
| + server_types.push_back(NO_SERVER_DATA); |
| + |
| test::CreateTestFormField("Select", "select", "USA", "select-one", &field); |
| field.is_autofilled = false; |
| form.fields.push_back(field); |
| @@ -541,6 +557,92 @@ TEST_F(AutofillMetricsTest, QualityMetrics) { |
| histogram_tester.ExpectBucketCount( |
| "Autofill.Quality.PredictedType.ByFieldType", |
| GetFieldTypeGroupMetric(NAME_FULL, AutofillMetrics::TYPE_MISMATCH), 1); |
| + |
| + // Mismatch between a prediction and an empty field. |
| + histogram_tester.ExpectBucketCount("Autofill.Quality.HeuristicType", |
| + AutofillMetrics::TYPE_MISMATCH_EMPTY, 1); |
|
Mathieu
2017/04/11 20:18:40
it's a little bit unfortunate how this test is con
|
| + histogram_tester.ExpectBucketCount("Autofill.Quality.ServerType", |
| + AutofillMetrics::TYPE_MISMATCH_EMPTY, 1); |
| + histogram_tester.ExpectBucketCount("Autofill.Quality.PredictedType", |
| + AutofillMetrics::TYPE_MISMATCH_EMPTY, 1); |
| + histogram_tester.ExpectBucketCount( |
| + "Autofill.Quality.HeuristicType.ByFieldType", |
| + GetFieldTypeGroupMetric(EMPTY_TYPE, AutofillMetrics::TYPE_MISMATCH_EMPTY), |
| + 1); |
| + histogram_tester.ExpectBucketCount( |
| + "Autofill.Quality.ServerType.ByFieldType", |
| + GetFieldTypeGroupMetric(EMPTY_TYPE, AutofillMetrics::TYPE_MISMATCH_EMPTY), |
| + 1); |
| + histogram_tester.ExpectBucketCount( |
| + "Autofill.Quality.PredictedType.ByFieldType", |
| + GetFieldTypeGroupMetric(EMPTY_TYPE, AutofillMetrics::TYPE_MISMATCH_EMPTY), |
| + 1); |
| + |
| + // Mismatch between a prediction and an unrecognized field. |
| + histogram_tester.ExpectBucketCount("Autofill.Quality.HeuristicType", |
| + AutofillMetrics::TYPE_MISMATCH_UNKNOWN, 1); |
| + histogram_tester.ExpectBucketCount("Autofill.Quality.ServerType", |
| + AutofillMetrics::TYPE_MISMATCH_UNKNOWN, 1); |
| + histogram_tester.ExpectBucketCount("Autofill.Quality.PredictedType", |
| + AutofillMetrics::TYPE_MISMATCH_UNKNOWN, 1); |
| + histogram_tester.ExpectBucketCount( |
| + "Autofill.Quality.HeuristicType.ByFieldType", |
| + GetFieldTypeGroupMetric(UNKNOWN_TYPE, |
| + AutofillMetrics::TYPE_MISMATCH_UNKNOWN), |
| + 1); |
| + histogram_tester.ExpectBucketCount( |
| + "Autofill.Quality.ServerType.ByFieldType", |
| + GetFieldTypeGroupMetric(UNKNOWN_TYPE, |
| + AutofillMetrics::TYPE_MISMATCH_UNKNOWN), |
| + 1); |
| + histogram_tester.ExpectBucketCount( |
| + "Autofill.Quality.PredictedType.ByFieldType", |
| + GetFieldTypeGroupMetric(UNKNOWN_TYPE, |
| + AutofillMetrics::TYPE_MISMATCH_UNKNOWN), |
| + 1); |
| + |
| + // Match between an "unknown" prediction and an empty field. |
| + histogram_tester.ExpectBucketCount("Autofill.Quality.HeuristicType", |
| + AutofillMetrics::TYPE_MATCH_EMPTY, 1); |
| + histogram_tester.ExpectBucketCount("Autofill.Quality.ServerType", |
| + AutofillMetrics::TYPE_MATCH_EMPTY, 1); |
| + histogram_tester.ExpectBucketCount("Autofill.Quality.PredictedType", |
| + AutofillMetrics::TYPE_MATCH_EMPTY, 1); |
| + histogram_tester.ExpectBucketCount( |
| + "Autofill.Quality.HeuristicType.ByFieldType", |
| + GetFieldTypeGroupMetric(EMPTY_TYPE, AutofillMetrics::TYPE_MATCH_EMPTY), |
| + 1); |
| + histogram_tester.ExpectBucketCount( |
| + "Autofill.Quality.ServerType.ByFieldType", |
| + GetFieldTypeGroupMetric(EMPTY_TYPE, AutofillMetrics::TYPE_MATCH_EMPTY), |
| + 1); |
| + histogram_tester.ExpectBucketCount( |
| + "Autofill.Quality.PredictedType.ByFieldType", |
| + GetFieldTypeGroupMetric(EMPTY_TYPE, AutofillMetrics::TYPE_MATCH_EMPTY), |
| + 1); |
| + |
| + // Match between an "unknown" prediction and an unrecognized field. |
| + histogram_tester.ExpectBucketCount("Autofill.Quality.HeuristicType", |
| + AutofillMetrics::TYPE_MATCH_UNKNOWN, 1); |
| + histogram_tester.ExpectBucketCount("Autofill.Quality.ServerType", |
| + AutofillMetrics::TYPE_MATCH_UNKNOWN, 1); |
| + histogram_tester.ExpectBucketCount("Autofill.Quality.PredictedType", |
| + AutofillMetrics::TYPE_MATCH_UNKNOWN, 1); |
| + histogram_tester.ExpectBucketCount( |
| + "Autofill.Quality.HeuristicType.ByFieldType", |
| + GetFieldTypeGroupMetric(UNKNOWN_TYPE, |
| + AutofillMetrics::TYPE_MATCH_UNKNOWN), |
| + 1); |
| + histogram_tester.ExpectBucketCount( |
| + "Autofill.Quality.ServerType.ByFieldType", |
| + GetFieldTypeGroupMetric(UNKNOWN_TYPE, |
| + AutofillMetrics::TYPE_MATCH_UNKNOWN), |
| + 1); |
| + histogram_tester.ExpectBucketCount( |
| + "Autofill.Quality.PredictedType.ByFieldType", |
| + GetFieldTypeGroupMetric(UNKNOWN_TYPE, |
| + AutofillMetrics::TYPE_MATCH_UNKNOWN), |
| + 1); |
| } |
| // Ensures that metrics that measure timing some important Autofill functions |