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

Unified Diff: chrome/browser/ui/webui/ntp/ntp_user_data_logger_unittest.cc

Issue 178253008: Redoing Issue 36073011: Allowing file:/// in Instant Extended's Most Visited links. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Adding and using logNavigation(); updating tests; removing ping and the log.html page. Created 6 years, 10 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: chrome/browser/ui/webui/ntp/ntp_user_data_logger_unittest.cc
diff --git a/chrome/browser/ui/webui/ntp/ntp_user_data_logger_unittest.cc b/chrome/browser/ui/webui/ntp/ntp_user_data_logger_unittest.cc
index fa217eb1ed141fd766ebca4ad8eb44339ce08971..b389fdddbcfa97b861913f94abeee90d88e81ebe 100644
--- a/chrome/browser/ui/webui/ntp/ntp_user_data_logger_unittest.cc
+++ b/chrome/browser/ui/webui/ntp/ntp_user_data_logger_unittest.cc
@@ -21,32 +21,30 @@ class TestNTPUserDataLogger : public NTPUserDataLogger {
base::HistogramBase::Count GetTotalCount(const std::string& histogram_name) {
base::HistogramBase* histogram = base::StatisticsRecorder::FindHistogram(
histogram_name);
- return histogram->SnapshotSamples()->TotalCount();
+ // Return 0 if history is uninitialized.
+ return histogram ? histogram->SnapshotSamples()->TotalCount() : 0;
}
base::HistogramBase::Count GetBinCount(const std::string& histogram_name,
base::HistogramBase::Sample value) {
base::HistogramBase* histogram = base::StatisticsRecorder::FindHistogram(
histogram_name);
- return histogram->SnapshotSamples()->GetCount(value);
+ // Return 0 if history is uninitialized.
+ return histogram ? histogram->SnapshotSamples()->GetCount(value) : 0;
}
} // namespace
TEST(NTPUserDataLoggerTest, TestLogging) {
base::StatisticsRecorder::Initialize();
- TestNTPUserDataLogger logger;
- // Ensure it works when the statistics are all empty. Only the mouseover
- // should be logged in this case. The other histograms are not created yet so
- // we can't query them.
- logger.EmitNtpStatistics();
+ // Ensure empty statistics.
+ EXPECT_EQ(0, GetTotalCount("NewTabPage.NumberOfMouseOvers"));
+ EXPECT_EQ(0, GetBinCount("NewTabPage.NumberOfMouseOvers", 0));
- EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfMouseOvers"));
- EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfMouseOvers", 0));
+ // Enusure non-zero statistics.
+ TestNTPUserDataLogger logger;
- // Ensure it works with some non-zero statistics. All statistics should now
- // be logged.
for (int i = 0; i < 20; ++i)
logger.LogEvent(NTP_MOUSEOVER);
for (int i = 0; i < 8; ++i)
@@ -62,10 +60,11 @@ TEST(NTPUserDataLoggerTest, TestLogging) {
for (int i = 0; i < 2; ++i)
logger.LogEvent(NTP_GRAY_TILE);
logger.LogEvent(NTP_SERVER_SIDE_SUGGESTION);
+
logger.EmitNtpStatistics();
- EXPECT_EQ(2, GetTotalCount("NewTabPage.NumberOfMouseOvers"));
- EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfMouseOvers", 0));
+ EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfMouseOvers"));
+ EXPECT_EQ(0, GetBinCount("NewTabPage.NumberOfMouseOvers", 0));
EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfMouseOvers", 20));
EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfTiles"));
EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfTiles", 8));
@@ -86,8 +85,8 @@ TEST(NTPUserDataLoggerTest, TestLogging) {
// Statistics should be reset to 0, so we should not log anything else.
logger.EmitNtpStatistics();
- EXPECT_EQ(3, GetTotalCount("NewTabPage.NumberOfMouseOvers"));
- EXPECT_EQ(2, GetBinCount("NewTabPage.NumberOfMouseOvers", 0));
+ EXPECT_EQ(2, GetTotalCount("NewTabPage.NumberOfMouseOvers"));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfMouseOvers", 0));
EXPECT_EQ(1, GetBinCount("NewTabPage.NumberOfMouseOvers", 20));
EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfTiles"));
EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfThumbnailTiles"));
@@ -98,3 +97,60 @@ TEST(NTPUserDataLoggerTest, TestLogging) {
EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfGrayTiles"));
EXPECT_EQ(1, GetTotalCount("NewTabPage.SuggestionsType"));
}
+
+TEST(NTPUserDataLoggerTest, TestLogImpression) {
+ base::StatisticsRecorder::Initialize();
+
+ EXPECT_EQ(0, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 1));
+ EXPECT_EQ(0, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 5));
+
+ TestNTPUserDataLogger logger;
+
+ logger.LogImpression(1, L"foobar");
+ EXPECT_EQ(1, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 1));
+ EXPECT_EQ(0, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 5));
+
+ logger.LogImpression(5, L"foobar");
+ EXPECT_EQ(1, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 1));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 5));
+
+ // Try without provider. Only total increases.
+ logger.LogImpression(5, L"");
+ EXPECT_EQ(1, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 1));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 5));
+
+ logger.LogImpression(1, L"foobar");
+ EXPECT_EQ(2, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 1));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 5));
+}
+
+TEST(NTPUserDataLoggerTest, TestLogNavigation) {
+ base::StatisticsRecorder::Initialize();
+
+ EXPECT_EQ(0, GetTotalCount("NewTabPage.MostVisited"));
+ EXPECT_EQ(0, GetBinCount("NewTabPage.MostVisited.foobar", 1));
+ EXPECT_EQ(0, GetBinCount("NewTabPage.MostVisited.foobar", 5));
+
+ TestNTPUserDataLogger logger;
+
+ logger.LogNavigation(1, L"foobar");
+ EXPECT_EQ(1, GetTotalCount("NewTabPage.MostVisited"));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.foobar", 1));
+ EXPECT_EQ(0, GetBinCount("NewTabPage.MostVisited.foobar", 5));
+
+ logger.LogNavigation(5, L"foobar");
+ EXPECT_EQ(2, GetTotalCount("NewTabPage.MostVisited"));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.foobar", 1));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.foobar", 5));
+
+ // Try without provider. Only total increases.
+ logger.LogNavigation(5, L"");
+ EXPECT_EQ(3, GetTotalCount("NewTabPage.MostVisited"));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.foobar", 1));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.foobar", 5));
+
+ logger.LogNavigation(1, L"foobar");
+ EXPECT_EQ(4, GetTotalCount("NewTabPage.MostVisited"));
+ EXPECT_EQ(2, GetBinCount("NewTabPage.MostVisited.foobar", 1));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.foobar", 5));
+}

Powered by Google App Engine
This is Rietveld 408576698