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

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: Remove unused consts. Created 6 years, 9 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..74283de27b9e675e35f70c0c1c9898b73af921dc 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
@@ -7,6 +7,7 @@
#include "base/basictypes.h"
#include "base/metrics/histogram.h"
#include "base/metrics/statistics_recorder.h"
+#include "base/strings/utf_string_conversions.h"
#include "chrome/common/ntp_logging_events.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -21,32 +22,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 +61,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 +86,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 +98,60 @@ TEST(NTPUserDataLoggerTest, TestLogging) {
EXPECT_EQ(1, GetTotalCount("NewTabPage.NumberOfGrayTiles"));
EXPECT_EQ(1, GetTotalCount("NewTabPage.SuggestionsType"));
}
+
+TEST(NTPUserDataLoggerTest, TestLogMostVisitedImpression) {
+ base::StatisticsRecorder::Initialize();
+
+ EXPECT_EQ(0, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 1));
+ EXPECT_EQ(0, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 5));
+
+ TestNTPUserDataLogger logger;
+
+ logger.LogMostVisitedImpression(1, base::ASCIIToUTF16("foobar"));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 1));
+ EXPECT_EQ(0, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 5));
+
+ logger.LogMostVisitedImpression(5, base::ASCIIToUTF16("foobar"));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 1));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 5));
+
+ // Try without provider. Only total increases.
+ logger.LogMostVisitedImpression(5, base::ASCIIToUTF16(""));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 1));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 5));
+
+ logger.LogMostVisitedImpression(1, base::ASCIIToUTF16("foobar"));
+ EXPECT_EQ(2, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 1));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.SuggestionsImpression.foobar", 5));
+}
+
+TEST(NTPUserDataLoggerTest, TestLogMostVisitedNavigation) {
+ 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.LogMostVisitedNavigation(1, base::ASCIIToUTF16("foobar"));
+ EXPECT_EQ(1, GetTotalCount("NewTabPage.MostVisited"));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.foobar", 1));
+ EXPECT_EQ(0, GetBinCount("NewTabPage.MostVisited.foobar", 5));
+
+ logger.LogMostVisitedNavigation(5, base::ASCIIToUTF16("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.LogMostVisitedNavigation(5, base::ASCIIToUTF16(""));
+ EXPECT_EQ(3, GetTotalCount("NewTabPage.MostVisited"));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.foobar", 1));
+ EXPECT_EQ(1, GetBinCount("NewTabPage.MostVisited.foobar", 5));
+
+ logger.LogMostVisitedNavigation(1, base::ASCIIToUTF16("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