| 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
|
|
|