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/browser/ui/webui/ntp/ntp_user_data_logger.h" | 5 #include "chrome/browser/ui/webui/ntp/ntp_user_data_logger.h" |
6 | 6 |
7 #include "base/metrics/histogram.h" | 7 #include "base/metrics/histogram.h" |
8 #include "base/metrics/statistics_recorder.h" | 8 #include "base/metrics/statistics_recorder.h" |
9 #include "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "chrome/common/search/ntp_logging_events.h" | 10 #include "chrome/common/search/ntp_logging_events.h" |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 TEST_F(NTPUserDataLoggerTest, TestLogging) { | 43 TEST_F(NTPUserDataLoggerTest, TestLogging) { |
44 base::StatisticsRecorder::Initialize(); | 44 base::StatisticsRecorder::Initialize(); |
45 | 45 |
46 // Enusure non-zero statistics. | 46 // Enusure non-zero statistics. |
47 TestNTPUserDataLogger logger; | 47 TestNTPUserDataLogger logger; |
48 | 48 |
49 base::TimeDelta delta = base::TimeDelta::FromMilliseconds(0); | 49 base::TimeDelta delta = base::TimeDelta::FromMilliseconds(0); |
50 | 50 |
51 for (int i = 0; i < 8; ++i) | 51 for (int i = 0; i < 8; ++i) |
52 logger.LogEvent(NTP_TILE, delta); | 52 logger.LogEvent(NTP_TILE, delta); |
53 for (int i = 0; i < 4; ++i) | |
54 logger.LogEvent(NTP_THUMBNAIL_TILE, delta); | |
55 for (int i = 0; i < 2; ++i) | |
56 logger.LogEvent(NTP_THUMBNAIL_ERROR, delta); | |
57 logger.LogEvent(NTP_GRAY_TILE_FALLBACK, delta); | |
58 logger.LogEvent(NTP_EXTERNAL_TILE_FALLBACK, delta); | |
59 for (int i = 0; i < 2; ++i) | |
60 logger.LogEvent(NTP_EXTERNAL_TILE, delta); | |
61 for (int i = 0; i < 2; ++i) | |
62 logger.LogEvent(NTP_GRAY_TILE, delta); | |
63 logger.LogEvent(NTP_SERVER_SIDE_SUGGESTION, delta); | 53 logger.LogEvent(NTP_SERVER_SIDE_SUGGESTION, delta); |
64 | 54 |
65 logger.EmitNtpStatistics(NTPUserDataLogger::EmitReason::NAVIGATED_AWAY); | 55 logger.EmitNtpStatistics(NTPUserDataLogger::EmitReason::NAVIGATED_AWAY); |
66 | 56 |
67 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfTiles")); | 57 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfTiles")); |
68 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfTiles", 8)); | 58 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfTiles", 8)); |
69 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfThumbnailTiles")); | |
70 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfThumbnailTiles", 4)); | |
71 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfThumbnailErrors")); | |
72 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfThumbnailErrors", 2)); | |
73 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfGrayTileFallbacks")); | |
74 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfGrayTileFallbacks", 1)); | |
75 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfExternalTileFallbacks")); | |
76 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfExternalTileFallbacks", 1)); | |
77 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfExternalTiles")); | |
78 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfExternalTiles", 2)); | |
79 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfGrayTiles")); | |
80 EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfGrayTiles", 2)); | |
81 EXPECT_EQ(1, GetTotalCount("NewTabPage.SuggestionsType")); | |
82 EXPECT_EQ(1, GetBinCount("NewTabPage.SuggestionsType", 1)); | |
83 | 59 |
84 // Statistics should be reset to 0, so we should not log anything else. | 60 // Statistics should be reset to 0, so we should not log anything else. |
85 logger.EmitNtpStatistics(NTPUserDataLogger::EmitReason::NAVIGATED_AWAY); | 61 logger.EmitNtpStatistics(NTPUserDataLogger::EmitReason::NAVIGATED_AWAY); |
86 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfTiles")); | 62 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfTiles")); |
87 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfThumbnailTiles")); | |
88 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfThumbnailErrors")); | |
89 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfGrayTileFallbacks")); | |
90 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfExternalTileFallbacks")); | |
91 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfExternalTiles")); | |
92 EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfGrayTiles")); | |
93 EXPECT_EQ(1, GetTotalCount("NewTabPage.SuggestionsType")); | |
94 } | 63 } |
95 | 64 |
96 TEST_F(NTPUserDataLoggerTest, TestLogMostVisitedImpression) { | 65 TEST_F(NTPUserDataLoggerTest, TestLogMostVisitedImpression) { |
97 base::StatisticsRecorder::Initialize(); | 66 base::StatisticsRecorder::Initialize(); |
98 | 67 |
99 EXPECT_EQ(0, GetTotalCount("NewTabPage.SuggestionsImpression")); | 68 EXPECT_EQ(0, GetTotalCount("NewTabPage.SuggestionsImpression")); |
100 EXPECT_EQ(0, GetBinCount("NewTabPage.SuggestionsImpression.server", 1)); | 69 EXPECT_EQ(0, GetBinCount("NewTabPage.SuggestionsImpression.server", 1)); |
101 EXPECT_EQ(0, GetBinCount("NewTabPage.SuggestionsImpression.server", 5)); | 70 EXPECT_EQ(0, GetBinCount("NewTabPage.SuggestionsImpression.server", 5)); |
102 EXPECT_EQ(0, GetBinCount("NewTabPage.SuggestionsImpression.client", 1)); | 71 EXPECT_EQ(0, GetBinCount("NewTabPage.SuggestionsImpression.client", 1)); |
103 EXPECT_EQ(0, GetBinCount("NewTabPage.SuggestionsImpression.client", 5)); | 72 EXPECT_EQ(0, GetBinCount("NewTabPage.SuggestionsImpression.client", 5)); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.client", 1)); | 134 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.client", 1)); |
166 EXPECT_EQ(0, GetBinCount("NewTabPage.MostVisited.client", 5)); | 135 EXPECT_EQ(0, GetBinCount("NewTabPage.MostVisited.client", 5)); |
167 | 136 |
168 logger.LogMostVisitedNavigation(5, NTPLoggingTileSource::CLIENT); | 137 logger.LogMostVisitedNavigation(5, NTPLoggingTileSource::CLIENT); |
169 EXPECT_EQ(4, GetTotalCount("NewTabPage.MostVisited")); | 138 EXPECT_EQ(4, GetTotalCount("NewTabPage.MostVisited")); |
170 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.server", 1)); | 139 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.server", 1)); |
171 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.server", 5)); | 140 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.server", 5)); |
172 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.client", 1)); | 141 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.client", 1)); |
173 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.client", 5)); | 142 EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.client", 5)); |
174 } | 143 } |
OLD | NEW |