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/ntp_tiles/metrics.h" | 5 #include "components/ntp_tiles/metrics.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 ElementsAre(base::Bucket(/*min=*/ICON_REAL, /*count=*/3), | 71 ElementsAre(base::Bucket(/*min=*/ICON_REAL, /*count=*/3), |
72 base::Bucket(/*min=*/ICON_COLOR, /*count=*/2))); | 72 base::Bucket(/*min=*/ICON_COLOR, /*count=*/2))); |
73 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TileType.popular"), | 73 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TileType.popular"), |
74 ElementsAre(base::Bucket(/*min=*/ICON_COLOR, /*count=*/1))); | 74 ElementsAre(base::Bucket(/*min=*/ICON_COLOR, /*count=*/1))); |
75 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.IconsReal"), | 75 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.IconsReal"), |
76 ElementsAre(base::Bucket(/*min=*/4, /*count=*/1))); | 76 ElementsAre(base::Bucket(/*min=*/4, /*count=*/1))); |
77 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.IconsColor"), | 77 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.IconsColor"), |
78 ElementsAre(base::Bucket(/*min=*/3, /*count=*/1))); | 78 ElementsAre(base::Bucket(/*min=*/3, /*count=*/1))); |
79 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.IconsGray"), | 79 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.IconsGray"), |
80 ElementsAre(base::Bucket(/*min=*/1, /*count=*/1))); | 80 ElementsAre(base::Bucket(/*min=*/1, /*count=*/1))); |
| 81 EXPECT_THAT(histogram_tester.GetAllSamples( |
| 82 "NewTabPage.SuggestionsImpression.IconsReal"), |
| 83 ElementsAre(base::Bucket(/*min=*/0, /*count=*/1), |
| 84 base::Bucket(/*min=*/1, /*count=*/1), |
| 85 base::Bucket(/*min=*/2, /*count=*/1), |
| 86 base::Bucket(/*min=*/5, /*count=*/1))); |
| 87 EXPECT_THAT(histogram_tester.GetAllSamples( |
| 88 "NewTabPage.SuggestionsImpression.IconsColor"), |
| 89 ElementsAre(base::Bucket(/*min=*/3, /*count=*/1), |
| 90 base::Bucket(/*min=*/4, /*count=*/1), |
| 91 base::Bucket(/*min=*/7, /*count=*/1))); |
| 92 EXPECT_THAT(histogram_tester.GetAllSamples( |
| 93 "NewTabPage.SuggestionsImpression.IconsGray"), |
| 94 ElementsAre(base::Bucket(/*min=*/6, /*count=*/1))); |
81 } | 95 } |
82 | 96 |
83 TEST(RecordPageImpressionTest, ShouldRecordUmaForThumbnails) { | 97 TEST(RecordPageImpressionTest, ShouldRecordUmaForThumbnails) { |
84 base::HistogramTester histogram_tester; | 98 base::HistogramTester histogram_tester; |
85 RecordPageImpression({{NTPTileSource::TOP_SITES, THUMBNAIL, GURL()}, | 99 RecordPageImpression({{NTPTileSource::TOP_SITES, THUMBNAIL, GURL()}, |
86 {NTPTileSource::SUGGESTIONS_SERVICE, THUMBNAIL, GURL()}, | 100 {NTPTileSource::SUGGESTIONS_SERVICE, THUMBNAIL, GURL()}, |
87 {NTPTileSource::POPULAR, THUMBNAIL, GURL()}}, | 101 {NTPTileSource::POPULAR, THUMBNAIL, GURL()}}, |
88 /*rappor_service=*/nullptr); | 102 /*rappor_service=*/nullptr); |
89 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.NumberOfTiles"), | 103 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.NumberOfTiles"), |
90 ElementsAre(base::Bucket(/*min=*/3, /*count=*/1))); | 104 ElementsAre(base::Bucket(/*min=*/3, /*count=*/1))); |
(...skipping 17 matching lines...) Expand all Loading... |
108 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TileType.client"), | 122 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TileType.client"), |
109 IsEmpty()); | 123 IsEmpty()); |
110 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TileType.popular"), | 124 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TileType.popular"), |
111 IsEmpty()); | 125 IsEmpty()); |
112 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.IconsReal"), | 126 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.IconsReal"), |
113 IsEmpty()); | 127 IsEmpty()); |
114 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.IconsColor"), | 128 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.IconsColor"), |
115 IsEmpty()); | 129 IsEmpty()); |
116 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.IconsGray"), | 130 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.IconsGray"), |
117 IsEmpty()); | 131 IsEmpty()); |
| 132 EXPECT_THAT(histogram_tester.GetAllSamples( |
| 133 "NewTabPage.SuggestionsImpression.IconsReal"), |
| 134 IsEmpty()); |
| 135 EXPECT_THAT(histogram_tester.GetAllSamples( |
| 136 "NewTabPage.SuggestionsImpression.IconsColor"), |
| 137 IsEmpty()); |
| 138 EXPECT_THAT(histogram_tester.GetAllSamples( |
| 139 "NewTabPage.SuggestionsImpression.IconsGray"), |
| 140 IsEmpty()); |
| 141 } |
| 142 |
| 143 TEST(RecordTileClickTest, ShouldRecordUma) { |
| 144 base::HistogramTester histogram_tester; |
| 145 RecordTileClick(3, NTPTileSource::TOP_SITES, ICON_REAL); |
| 146 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"), |
| 147 ElementsAre(base::Bucket(/*min=*/3, /*count=*/1))); |
| 148 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"), |
| 149 IsEmpty()); |
| 150 EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.MostVisited.popular"), |
| 151 IsEmpty()); |
| 152 EXPECT_THAT( |
| 153 histogram_tester.GetAllSamples("NewTabPage.MostVisited.IconsReal"), |
| 154 ElementsAre(base::Bucket(/*min=*/3, /*count=*/1))); |
| 155 EXPECT_THAT( |
| 156 histogram_tester.GetAllSamples("NewTabPage.MostVisited.IconsColor"), |
| 157 IsEmpty()); |
| 158 EXPECT_THAT( |
| 159 histogram_tester.GetAllSamples("NewTabPage.MostVisited.IconsGray"), |
| 160 IsEmpty()); |
| 161 } |
| 162 |
| 163 TEST(RecordTileClickTest, ShouldIgnoreThumbnails) { |
| 164 base::HistogramTester histogram_tester; |
| 165 RecordTileClick(3, NTPTileSource::TOP_SITES, THUMBNAIL); |
| 166 EXPECT_THAT( |
| 167 histogram_tester.GetAllSamples("NewTabPage.MostVisited.IconsReal"), |
| 168 IsEmpty()); |
| 169 EXPECT_THAT( |
| 170 histogram_tester.GetAllSamples("NewTabPage.MostVisited.IconsColor"), |
| 171 IsEmpty()); |
| 172 EXPECT_THAT( |
| 173 histogram_tester.GetAllSamples("NewTabPage.MostVisited.IconsGray"), |
| 174 IsEmpty()); |
118 } | 175 } |
119 | 176 |
120 TEST(RecordPageImpressionTest, ShouldRecordRappor) { | 177 TEST(RecordPageImpressionTest, ShouldRecordRappor) { |
121 rappor::TestRapporServiceImpl rappor_service; | 178 rappor::TestRapporServiceImpl rappor_service; |
122 | 179 |
123 RecordPageImpression( | 180 RecordPageImpression( |
124 {{NTPTileSource::TOP_SITES, ICON_REAL, GURL("http://www.site1.com/")}, | 181 {{NTPTileSource::TOP_SITES, ICON_REAL, GURL("http://www.site1.com/")}, |
125 {NTPTileSource::TOP_SITES, ICON_COLOR, GURL("http://www.site2.com/")}, | 182 {NTPTileSource::TOP_SITES, ICON_COLOR, GURL("http://www.site2.com/")}, |
126 {NTPTileSource::TOP_SITES, ICON_DEFAULT, GURL("http://www.site3.com/")}, | 183 {NTPTileSource::TOP_SITES, ICON_DEFAULT, GURL("http://www.site3.com/")}, |
127 {NTPTileSource::TOP_SITES, THUMBNAIL, GURL("http://www.site4.com/")}}, | 184 {NTPTileSource::TOP_SITES, THUMBNAIL, GURL("http://www.site4.com/")}}, |
(...skipping 26 matching lines...) Expand all Loading... |
154 EXPECT_TRUE(rappor_service.GetRecordedSampleForMetric( | 211 EXPECT_TRUE(rappor_service.GetRecordedSampleForMetric( |
155 "NTP.SuggestionsImpressions.IconsGray", &sample, &type)); | 212 "NTP.SuggestionsImpressions.IconsGray", &sample, &type)); |
156 EXPECT_EQ("site3.com", sample); | 213 EXPECT_EQ("site3.com", sample); |
157 EXPECT_EQ(rappor::ETLD_PLUS_ONE_RAPPOR_TYPE, type); | 214 EXPECT_EQ(rappor::ETLD_PLUS_ONE_RAPPOR_TYPE, type); |
158 } | 215 } |
159 } | 216 } |
160 | 217 |
161 } // namespace | 218 } // namespace |
162 } // namespace metrics | 219 } // namespace metrics |
163 } // namespace ntp_tiles | 220 } // namespace ntp_tiles |
OLD | NEW |