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

Unified Diff: chrome/browser/search/most_visited_iframe_source_unittest.cc

Issue 111423005: [Most Visited] Log suggestion provider to UMA (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase? Created 7 years 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
« no previous file with comments | « chrome/browser/search/most_visited_iframe_source.cc ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/search/most_visited_iframe_source_unittest.cc
diff --git a/chrome/browser/search/most_visited_iframe_source_unittest.cc b/chrome/browser/search/most_visited_iframe_source_unittest.cc
index 1fbfe19685c2a4aac1b3083246862434d0947fe8..22dd62cd395f3b5a369197407f05cb59cf05009f 100644
--- a/chrome/browser/search/most_visited_iframe_source_unittest.cc
+++ b/chrome/browser/search/most_visited_iframe_source_unittest.cc
@@ -5,6 +5,7 @@
#include "base/bind.h"
#include "base/metrics/histogram.h"
#include "base/metrics/statistics_recorder.h"
+#include "base/strings/stringprintf.h"
#include "chrome/browser/search/most_visited_iframe_source.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -23,7 +24,7 @@ class MostVisitedIframeSourceTest : public testing::Test {
scoped_ptr<MostVisitedIframeSource> source_;
};
-TEST_F(MostVisitedIframeSourceTest, LogEndpointIsValid) {
+TEST_F(MostVisitedIframeSourceTest, LogEndpointIsValidNoProvider) {
content::URLDataSource::GotDataCallback callback = base::Bind(
&MostVisitedIframeSourceTest::ExpectNullData, base::Unretained(this));
@@ -63,3 +64,41 @@ TEST_F(MostVisitedIframeSourceTest, LogEndpointIsValid) {
// Total count hasn't changed.
EXPECT_EQ(samples2->TotalCount() + 2, samples3->TotalCount());
}
+
+TEST_F(MostVisitedIframeSourceTest, LogEndpointIsValidWithProvider) {
+ content::URLDataSource::GotDataCallback callback = base::Bind(
+ &MostVisitedIframeSourceTest::ExpectNullData, base::Unretained(this));
+
+ base::StatisticsRecorder::Initialize();
+ // Making sure a test histogram with provider is created by logging a dummy
+ // value.
+ const std::string histogram_name =
+ MostVisitedIframeSource::GetHistogramNameForProvider("foobar");
+ UMA_HISTOGRAM_ENUMERATION(histogram_name, 0,
+ MostVisitedIframeSource::kNumMostVisited);
+
+ base::HistogramBase* histogram = base::StatisticsRecorder::FindHistogram(
+ histogram_name);
+ scoped_ptr<base::HistogramSamples> samples1(histogram->SnapshotSamples());
+ // The dummy value got logged.
+ EXPECT_EQ(1, samples1->TotalCount());
+ EXPECT_EQ(1, samples1->GetCount(0));
+
+ // Test the method.
+ source()->StartDataRequest("log.html?pos=1&pr=foobar", 0, 0, callback);
+
+ scoped_ptr<base::HistogramSamples> samples2(histogram->SnapshotSamples());
+ EXPECT_EQ(samples1->TotalCount() + 1, samples2->TotalCount());
+ EXPECT_EQ(1, samples2->GetCount(1));
+
+ // Counts accumulate and behave as expected.
+ source()->StartDataRequest("log.html?pos=5&pr=foobar", 0, 0, callback);
+ source()->StartDataRequest("log.html?pos=1&pr=foobar", 0, 0, callback);
+ // This should have no effect for the "foobar" histogram.
+ source()->StartDataRequest("log.html?pos=1&pr=nofoo", 0, 0, callback);
+
+ scoped_ptr<base::HistogramSamples> samples3(histogram->SnapshotSamples());
+ EXPECT_EQ(samples2->TotalCount() + 2, samples3->TotalCount());
+ EXPECT_EQ(1, samples3->GetCount(5));
+ EXPECT_EQ(2, samples3->GetCount(1));
+}
« no previous file with comments | « chrome/browser/search/most_visited_iframe_source.cc ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698