Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(314)

Unified Diff: components/ntp_tiles/metrics_unittest.cc

Issue 2796643002: NTP: Record TileType metrics also on desktop (Closed)
Patch Set: review Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/ntp_tiles/metrics_unittest.cc
diff --git a/components/ntp_tiles/metrics_unittest.cc b/components/ntp_tiles/metrics_unittest.cc
index f5d5126ec667961af2acc8bf67d2f9aab7e5c0c7..4b5eac9a7d5a35d3aa1af09f6cab060d7f2a4461 100644
--- a/components/ntp_tiles/metrics_unittest.cc
+++ b/components/ntp_tiles/metrics_unittest.cc
@@ -90,7 +90,7 @@ TEST(RecordPageImpressionTest, ShouldRecordUmaForIcons) {
TEST(RecordPageImpressionTest, ShouldRecordUmaForThumbnails) {
base::HistogramTester histogram_tester;
- RecordPageImpression({{TileSource::TOP_SITES, THUMBNAIL, GURL()},
+ RecordPageImpression({{TileSource::TOP_SITES, THUMBNAIL_FAILED, GURL()},
{TileSource::SUGGESTIONS_SERVICE, THUMBNAIL, GURL()},
{TileSource::POPULAR, THUMBNAIL, GURL()}},
/*rappor_service=*/nullptr);
@@ -110,13 +110,15 @@ TEST(RecordPageImpressionTest, ShouldRecordUmaForThumbnails) {
EXPECT_THAT(histogram_tester.GetAllSamples(
"NewTabPage.SuggestionsImpression.popular"),
ElementsAre(base::Bucket(/*min=*/2, /*count=*/1)));
- EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TileType"), IsEmpty());
+ EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TileType"),
+ ElementsAre(base::Bucket(/*min=*/THUMBNAIL, /*count=*/2),
+ base::Bucket(/*min=*/THUMBNAIL_FAILED, /*count=*/1)));
EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TileType.server"),
- IsEmpty());
+ ElementsAre(base::Bucket(/*min=*/THUMBNAIL, /*count=*/1)));
EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TileType.client"),
- IsEmpty());
+ ElementsAre(base::Bucket(/*min=*/THUMBNAIL_FAILED, /*count=*/1)));
EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.TileType.popular"),
- IsEmpty());
+ ElementsAre(base::Bucket(/*min=*/THUMBNAIL, /*count=*/1)));
EXPECT_THAT(histogram_tester.GetAllSamples(
"NewTabPage.SuggestionsImpression.IconsReal"),
IsEmpty());
@@ -128,9 +130,11 @@ TEST(RecordPageImpressionTest, ShouldRecordUmaForThumbnails) {
IsEmpty());
}
-TEST(RecordTileClickTest, ShouldRecordUma) {
+TEST(RecordTileClickTest, ShouldRecordUmaForIcon) {
base::HistogramTester histogram_tester;
RecordTileClick(3, TileSource::TOP_SITES, ICON_REAL);
+ EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.MostVisited"),
+ ElementsAre(base::Bucket(/*min=*/3, /*count=*/1)));
EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"),
ElementsAre(base::Bucket(/*min=*/3, /*count=*/1)));
EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"),
@@ -146,11 +150,55 @@ TEST(RecordTileClickTest, ShouldRecordUma) {
EXPECT_THAT(
histogram_tester.GetAllSamples("NewTabPage.MostVisited.IconsGray"),
IsEmpty());
+ EXPECT_THAT(
+ histogram_tester.GetAllSamples("NewTabPage.MostVisited.Thumbnail"),
+ IsEmpty());
+ EXPECT_THAT(
+ histogram_tester.GetAllSamples("NewTabPage.MostVisited.ThumbnailFailed"),
+ IsEmpty());
}
-TEST(RecordTileClickTest, ShouldIgnoreThumbnails) {
+TEST(RecordTileClickTest, ShouldRecordUmaForThumbnail) {
base::HistogramTester histogram_tester;
RecordTileClick(3, TileSource::TOP_SITES, THUMBNAIL);
+ EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.MostVisited"),
+ ElementsAre(base::Bucket(/*min=*/3, /*count=*/1)));
+ EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"),
+ ElementsAre(base::Bucket(/*min=*/3, /*count=*/1)));
+ EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"),
+ IsEmpty());
+ EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.MostVisited.popular"),
+ IsEmpty());
+ EXPECT_THAT(
+ histogram_tester.GetAllSamples("NewTabPage.MostVisited.IconsReal"),
+ IsEmpty());
+ EXPECT_THAT(
+ histogram_tester.GetAllSamples("NewTabPage.MostVisited.IconsColor"),
+ IsEmpty());
+ EXPECT_THAT(
+ histogram_tester.GetAllSamples("NewTabPage.MostVisited.IconsGray"),
+ IsEmpty());
+ EXPECT_THAT(
+ histogram_tester.GetAllSamples("NewTabPage.MostVisited.Thumbnail"),
+ ElementsAre(base::Bucket(/*min=*/3, /*count=*/1)));
+ EXPECT_THAT(
+ histogram_tester.GetAllSamples("NewTabPage.MostVisited.ThumbnailFailed"),
+ IsEmpty());
+}
+
+TEST(RecordTileClickTest, ShouldNotRecordUnknownTileType) {
+ base::HistogramTester histogram_tester;
+ RecordTileClick(3, TileSource::TOP_SITES, UNKNOWN_TILE_TYPE);
+ // The click should still get recorded.
+ EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.MostVisited"),
+ ElementsAre(base::Bucket(/*min=*/3, /*count=*/1)));
+ EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.MostVisited.client"),
+ ElementsAre(base::Bucket(/*min=*/3, /*count=*/1)));
+ EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.MostVisited.server"),
+ IsEmpty());
+ EXPECT_THAT(histogram_tester.GetAllSamples("NewTabPage.MostVisited.popular"),
+ IsEmpty());
+ // But all of the tile type histograms should be empty.
EXPECT_THAT(
histogram_tester.GetAllSamples("NewTabPage.MostVisited.IconsReal"),
IsEmpty());
@@ -160,6 +208,12 @@ TEST(RecordTileClickTest, ShouldIgnoreThumbnails) {
EXPECT_THAT(
histogram_tester.GetAllSamples("NewTabPage.MostVisited.IconsGray"),
IsEmpty());
+ EXPECT_THAT(
+ histogram_tester.GetAllSamples("NewTabPage.MostVisited.Thumbnail"),
+ IsEmpty());
+ EXPECT_THAT(
+ histogram_tester.GetAllSamples("NewTabPage.MostVisited.ThumbnailFailed"),
+ IsEmpty());
}
TEST(RecordPageImpressionTest, ShouldRecordRappor) {
@@ -168,11 +222,9 @@ TEST(RecordPageImpressionTest, ShouldRecordRappor) {
RecordPageImpression(
{{TileSource::TOP_SITES, ICON_REAL, GURL("http://www.site1.com/")},
{TileSource::TOP_SITES, ICON_COLOR, GURL("http://www.site2.com/")},
- {TileSource::TOP_SITES, ICON_DEFAULT, GURL("http://www.site3.com/")},
- {TileSource::TOP_SITES, THUMBNAIL, GURL("http://www.site4.com/")}},
+ {TileSource::TOP_SITES, ICON_DEFAULT, GURL("http://www.site3.com/")}},
&rappor_service);
- // Thumbnail shouldn't get reported.
EXPECT_EQ(3, rappor_service.GetReportsCount());
{
@@ -203,6 +255,18 @@ TEST(RecordPageImpressionTest, ShouldRecordRappor) {
}
}
+TEST(RecordPageImpressionTest, ShouldNotRecordRapporForUnknownTileType) {
+ rappor::TestRapporServiceImpl rappor_service;
+
+ RecordPageImpression(
+ {{TileSource::TOP_SITES, ICON_REAL, GURL("http://www.s1.com/")},
+ {TileSource::TOP_SITES, UNKNOWN_TILE_TYPE, GURL("http://www.s2.com/")}},
+ &rappor_service);
+
+ // Unknown tile type shouldn't get reported.
+ EXPECT_EQ(1, rappor_service.GetReportsCount());
+}
+
} // namespace
} // namespace metrics
} // namespace ntp_tiles

Powered by Google App Engine
This is Rietveld 408576698