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

Side by Side Diff: content/public/common/referrer_unittest.cc

Issue 263563003: Add referrer & load flag support to BitmapFetcher class. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove temp comments Created 6 years, 7 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 unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
Kibeom Kim (inactive) 2014/04/30 00:58:56 from https://chrome-internal.googlesource.com/blin
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "content/public/common/referrer.h"
6 #include "testing/gtest/include/gtest/gtest.h"
7
8 namespace {
9
10 const char* kTestURL = "http://google.com/";
11
12 // Check that copying Referrer objects works.
13 TEST(ReferrerTest, Copy) {
14 content::Referrer r1(GURL(kTestURL), blink::WebReferrerPolicyAlways);
15 content::Referrer r2;
16
17 r2 = r1;
18 EXPECT_EQ(GURL(kTestURL), r2.url);
19 EXPECT_EQ(blink::WebReferrerPolicyAlways, r2.policy);
20 }
21
22 TEST(ReferrerTest, Sanitization) {
23 content::Referrer referrer(
24 GURL("http://user:password@foo.com/bar/baz.html#fragment"),
25 blink::WebReferrerPolicyAlways);
26 GURL sanitized =
27 referrer.ReferrerHeaderUrlForNavigation(GURL("http://www.bar.com"));
28 EXPECT_EQ("http://foo.com/bar/baz.html", sanitized.spec());
29 }
30
31 TEST(ReferrerTest, PolicyHandling) {
32 const char* test_urls[] = {
33 "http://insecure.com/foo/bar.html",
34 "https://secure.net/trustworthy.html",
35 };
36
37 // Default: all but secure->insecure should have a full referrer.
38 for (unsigned int source = 0; source < arraysize(test_urls); ++source) {
39 for (unsigned int dest = 0; dest < arraysize(test_urls); ++dest) {
40 content::Referrer referrer(GURL(test_urls[source]),
41 blink::WebReferrerPolicyDefault);
42 const GURL referrer_url =
43 referrer.ReferrerHeaderUrlForNavigation(GURL(test_urls[dest]));
44 if (source == 1 && dest == 0) {
45 EXPECT_EQ("", referrer_url.spec());
46 } else {
47 EXPECT_EQ(test_urls[source], referrer_url.spec());
48 }
49 }
50 }
51
52 // Never: always empty string.
53 for (unsigned int source = 0; source < arraysize(test_urls); ++source) {
54 for (unsigned int dest = 0; dest < arraysize(test_urls); ++dest) {
55 content::Referrer referrer(GURL(test_urls[source]),
56 blink::WebReferrerPolicyNever);
57 const GURL referrer_url =
58 referrer.ReferrerHeaderUrlForNavigation(GURL(test_urls[dest]));
59 EXPECT_EQ("", referrer_url.spec());
60 }
61 }
62
63 // Always: always the full referrer.
64 for (unsigned int source = 0; source < arraysize(test_urls); ++source) {
65 for (unsigned int dest = 0; dest < arraysize(test_urls); ++dest) {
66 content::Referrer referrer(GURL(test_urls[source]),
67 blink::WebReferrerPolicyAlways);
68 const GURL referrer_url =
69 referrer.ReferrerHeaderUrlForNavigation(GURL(test_urls[dest]));
70 EXPECT_EQ(test_urls[source], referrer_url.spec());
71 }
72 }
73
74 // Always: always just the origin.
75 for (unsigned int source = 0; source < arraysize(test_urls); ++source) {
76 for (unsigned int dest = 0; dest < arraysize(test_urls); ++dest) {
77 content::Referrer referrer(GURL(test_urls[source]),
78 blink::WebReferrerPolicyOrigin);
79 const GURL referrer_url =
80 referrer.ReferrerHeaderUrlForNavigation(GURL(test_urls[dest]));
81 EXPECT_EQ(GURL(test_urls[source]).GetOrigin().spec(),
82 referrer_url.spec());
83 }
84 }
85 }
86
87 } // namespace
OLDNEW
« content/public/common/referrer.cc ('K') | « content/public/common/referrer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698