| Index: net/cookies/canonical_cookie_unittest.cc
|
| diff --git a/net/cookies/canonical_cookie_unittest.cc b/net/cookies/canonical_cookie_unittest.cc
|
| index cc0426e65bf6ad3c19a18cd617f363d91e457f5c..26890268a2d598f792eb9fb3a8e9ca4af601e560 100644
|
| --- a/net/cookies/canonical_cookie_unittest.cc
|
| +++ b/net/cookies/canonical_cookie_unittest.cc
|
| @@ -5,6 +5,7 @@
|
| #include "net/cookies/canonical_cookie.h"
|
|
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "base/test/histogram_tester.h"
|
| #include "net/cookies/cookie_constants.h"
|
| #include "net/cookies/cookie_options.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -538,4 +539,77 @@ TEST(CanonicalCookieTest, HostCookiePrefix) {
|
| creation_time, options)));
|
| }
|
|
|
| +namespace {
|
| +
|
| +class CanonicalCookiePrefixHistogramTest : public testing::TestWithParam<bool> {
|
| +};
|
| +
|
| +} // namespace
|
| +
|
| +TEST_P(CanonicalCookiePrefixHistogramTest, TestHistograms) {
|
| + base::HistogramTester histograms;
|
| + const char kCookiePrefixHistogram[] = "Cookie.CookiePrefix";
|
| + const char kCookiePrefixBlockedHistogram[] = "Cookie.CookiePrefixBlocked";
|
| + GURL https_url("https://www.example.test");
|
| + base::Time creation_time = base::Time::Now();
|
| + CookieOptions options;
|
| + if (GetParam())
|
| + options.set_enforce_prefixes();
|
| +
|
| + scoped_ptr<CanonicalCookie> cookie1 = make_scoped_ptr(
|
| + CanonicalCookie::Create(https_url, "$Host-A=B;", creation_time, options));
|
| + if (GetParam())
|
| + EXPECT_EQ(nullptr, cookie1);
|
| + else
|
| + EXPECT_NE(nullptr, cookie1);
|
| + histograms.ExpectBucketCount(kCookiePrefixHistogram,
|
| + CanonicalCookie::COOKIE_PREFIX_HOST, 1);
|
| + histograms.ExpectBucketCount(kCookiePrefixBlockedHistogram,
|
| + CanonicalCookie::COOKIE_PREFIX_HOST, 1);
|
| +
|
| + EXPECT_NE(nullptr, make_scoped_ptr(CanonicalCookie::Create(
|
| + https_url, "$Host-A=B; Path=/; Secure", creation_time,
|
| + options)));
|
| + histograms.ExpectBucketCount(kCookiePrefixHistogram,
|
| + CanonicalCookie::COOKIE_PREFIX_HOST, 2);
|
| + histograms.ExpectBucketCount(kCookiePrefixBlockedHistogram,
|
| + CanonicalCookie::COOKIE_PREFIX_HOST, 1);
|
| + EXPECT_NE(nullptr, make_scoped_ptr(CanonicalCookie::Create(
|
| + https_url, "$HostA=B; Path=/; Secure", creation_time,
|
| + options)));
|
| + histograms.ExpectBucketCount(kCookiePrefixHistogram,
|
| + CanonicalCookie::COOKIE_PREFIX_HOST, 2);
|
| + histograms.ExpectBucketCount(kCookiePrefixBlockedHistogram,
|
| + CanonicalCookie::COOKIE_PREFIX_HOST, 1);
|
| +
|
| + scoped_ptr<CanonicalCookie> cookie2 = make_scoped_ptr(CanonicalCookie::Create(
|
| + https_url, "$Secure-A=B;", creation_time, options));
|
| + if (GetParam())
|
| + EXPECT_EQ(nullptr, cookie2);
|
| + else
|
| + EXPECT_NE(nullptr, cookie2);
|
| + histograms.ExpectBucketCount(kCookiePrefixHistogram,
|
| + CanonicalCookie::COOKIE_PREFIX_SECURE, 1);
|
| + histograms.ExpectBucketCount(kCookiePrefixBlockedHistogram,
|
| + CanonicalCookie::COOKIE_PREFIX_SECURE, 1);
|
| + EXPECT_NE(nullptr, make_scoped_ptr(CanonicalCookie::Create(
|
| + https_url, "$Secure-A=B; Path=/; Secure",
|
| + creation_time, options)));
|
| + histograms.ExpectBucketCount(kCookiePrefixHistogram,
|
| + CanonicalCookie::COOKIE_PREFIX_SECURE, 2);
|
| + histograms.ExpectBucketCount(kCookiePrefixBlockedHistogram,
|
| + CanonicalCookie::COOKIE_PREFIX_SECURE, 1);
|
| + EXPECT_NE(nullptr, make_scoped_ptr(CanonicalCookie::Create(
|
| + https_url, "$SecureA=B; Path=/; Secure", creation_time,
|
| + options)));
|
| + histograms.ExpectBucketCount(kCookiePrefixHistogram,
|
| + CanonicalCookie::COOKIE_PREFIX_SECURE, 2);
|
| + histograms.ExpectBucketCount(kCookiePrefixBlockedHistogram,
|
| + CanonicalCookie::COOKIE_PREFIX_SECURE, 1);
|
| +}
|
| +
|
| +INSTANTIATE_TEST_CASE_P(CanonicalCookiePrefixHistogramTests,
|
| + CanonicalCookiePrefixHistogramTest,
|
| + testing::Values(true, false));
|
| +
|
| } // namespace net
|
|
|