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

Unified Diff: content/common/origin_util_unittest.cc

Issue 2005783005: Re-enable storage for Suborigins. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Rebase on ToT Created 4 years, 2 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
« no previous file with comments | « content/common/origin_util.cc ('k') | content/public/common/origin_util.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/common/origin_util_unittest.cc
diff --git a/content/common/origin_util_unittest.cc b/content/common/origin_util_unittest.cc
index 3c2328bff9928f5f5812f8169c354a2424e89401..d4409a01f015d0a4732624c292c88dea056c0843 100644
--- a/content/common/origin_util_unittest.cc
+++ b/content/common/origin_util_unittest.cc
@@ -47,4 +47,81 @@ TEST(URLSchemesTest, IsOriginSecure) {
IsOriginSecure(GURL("filesystem:https://www.example.com/temporary/")));
}
+TEST(OriginUtilTest, Suborigins) {
+ GURL no_suborigin_simple_url("https://b");
+ GURL suborigin_simple_url("https-so://a.b");
+ GURL no_suborigin_path_url("https://example.com/some/path");
+ GURL suborigin_path_url("https-so://foobar.example.com/some/path");
+ GURL no_suborigin_url_with_port("https://example.com:1234");
+ GURL suborigin_url_with_port("https-so://foobar.example.com:1234");
+ GURL no_suborigin_url_with_query("https://example.com/some/path?query");
+ GURL suborigin_url_with_query(
+ "https-so://foobar.example.com/some/path?query");
+ GURL no_suborigin_url_with_fragment("https://example.com/some/path#fragment");
+ GURL suborigin_url_with_fragment(
+ "https-so://foobar.example.com/some/path#fragment");
+ GURL no_suborigin_url_big(
+ "https://example.com:1234/some/path?query#fragment");
+ GURL suborigin_url_big(
+ "https-so://foobar.example.com:1234/some/path?query#fragment");
+
+ EXPECT_FALSE(HasSuborigin(no_suborigin_simple_url));
+ EXPECT_FALSE(HasSuborigin(no_suborigin_path_url));
+ EXPECT_TRUE(HasSuborigin(suborigin_simple_url));
+ EXPECT_TRUE(HasSuborigin(suborigin_path_url));
+ EXPECT_TRUE(HasSuborigin(suborigin_url_with_port));
+ EXPECT_TRUE(HasSuborigin(suborigin_url_with_query));
+ EXPECT_TRUE(HasSuborigin(suborigin_url_with_fragment));
+ EXPECT_TRUE(HasSuborigin(suborigin_url_big));
+
+ EXPECT_EQ("", SuboriginFromUrl(no_suborigin_simple_url));
+ EXPECT_EQ("", SuboriginFromUrl(no_suborigin_path_url));
+ EXPECT_EQ("a", SuboriginFromUrl(suborigin_simple_url));
+ EXPECT_EQ("foobar", SuboriginFromUrl(suborigin_path_url));
+ EXPECT_EQ("foobar", SuboriginFromUrl(suborigin_url_with_port));
+ EXPECT_EQ("foobar", SuboriginFromUrl(suborigin_url_with_query));
+ EXPECT_EQ("foobar", SuboriginFromUrl(suborigin_url_with_fragment));
+ EXPECT_EQ("foobar", SuboriginFromUrl(suborigin_url_big));
+
+ EXPECT_EQ(no_suborigin_simple_url,
+ StripSuboriginFromUrl(no_suborigin_simple_url));
+ EXPECT_EQ(no_suborigin_path_url,
+ StripSuboriginFromUrl(no_suborigin_path_url));
+ EXPECT_EQ(no_suborigin_simple_url,
+ StripSuboriginFromUrl(suborigin_simple_url));
+ EXPECT_EQ(no_suborigin_path_url, StripSuboriginFromUrl(suborigin_path_url));
+ EXPECT_EQ(no_suborigin_url_with_port,
+ StripSuboriginFromUrl(suborigin_url_with_port));
+ EXPECT_EQ(no_suborigin_url_with_query,
+ StripSuboriginFromUrl(suborigin_url_with_query));
+ EXPECT_EQ(no_suborigin_url_with_fragment,
+ StripSuboriginFromUrl(suborigin_url_with_fragment));
+ EXPECT_EQ(no_suborigin_url_big, StripSuboriginFromUrl(suborigin_url_big));
+
+ // Failure cases/invalid suborigins
+ GURL just_dot_url("https-so://.");
+ GURL empty_hostname_url("https-so://");
+ GURL empty_suborigin_url("https-so://.foo");
+ GURL no_dot_url("https-so://foo");
+ GURL suborigin_but_empty_host_url("https-so://foo.");
+ EXPECT_FALSE(HasSuborigin(just_dot_url));
+ EXPECT_FALSE(HasSuborigin(empty_hostname_url));
+ EXPECT_FALSE(HasSuborigin(empty_suborigin_url));
+ EXPECT_FALSE(HasSuborigin(no_dot_url));
+ EXPECT_FALSE(HasSuborigin(suborigin_but_empty_host_url));
+
+ EXPECT_EQ("", SuboriginFromUrl(just_dot_url));
+ EXPECT_EQ("", SuboriginFromUrl(empty_hostname_url));
+ EXPECT_EQ("", SuboriginFromUrl(empty_suborigin_url));
+ EXPECT_EQ("", SuboriginFromUrl(no_dot_url));
+ EXPECT_EQ("", SuboriginFromUrl(suborigin_but_empty_host_url));
+
+ EXPECT_EQ(just_dot_url, StripSuboriginFromUrl(just_dot_url));
+ EXPECT_EQ(empty_hostname_url, StripSuboriginFromUrl(empty_hostname_url));
+ EXPECT_EQ(empty_suborigin_url, StripSuboriginFromUrl(empty_suborigin_url));
+ EXPECT_EQ(no_dot_url, StripSuboriginFromUrl(no_dot_url));
+ EXPECT_EQ(suborigin_but_empty_host_url,
+ StripSuboriginFromUrl(suborigin_but_empty_host_url));
+}
+
} // namespace content
« no previous file with comments | « content/common/origin_util.cc ('k') | content/public/common/origin_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698