summaryrefslogtreecommitdiffstats
path: root/chrome_frame/test/util_unittests.cc
diff options
context:
space:
mode:
authortommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-01 16:00:21 +0000
committertommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-01 16:00:21 +0000
commit10bf1a7030eeed02e2af95eaff012d2428ea5bc2 (patch)
treef381f0333bb9901aca6d2d5e2b0fdbfc5743b6d2 /chrome_frame/test/util_unittests.cc
parent7f14e1fd31ddd510b19e2d9f6942c45435c9a8c6 (diff)
downloadchromium_src-10bf1a7030eeed02e2af95eaff012d2428ea5bc2.zip
chromium_src-10bf1a7030eeed02e2af95eaff012d2428ea5bc2.tar.gz
chromium_src-10bf1a7030eeed02e2af95eaff012d2428ea5bc2.tar.bz2
Committing patch 256001 for Roger:http://codereview.chromium.org/256001Allow Chrome Frame to display chrome-extension URLs when running in privilegedmode.BUG=noneTEST=see unit tests
Review URL: http://codereview.chromium.org/246050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27724 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome_frame/test/util_unittests.cc')
-rw-r--r--chrome_frame/test/util_unittests.cc33
1 files changed, 33 insertions, 0 deletions
diff --git a/chrome_frame/test/util_unittests.cc b/chrome_frame/test/util_unittests.cc
index cc2727b..3f07b82 100644
--- a/chrome_frame/test/util_unittests.cc
+++ b/chrome_frame/test/util_unittests.cc
@@ -118,3 +118,36 @@ TEST(UtilTests, HaveSameOrigin) {
EXPECT_EQ(test.same_origin, HaveSameOrigin(test.a, test.b));
}
}
+
+TEST(UtilTests, IsValidUrlScheme) {
+ struct Cases {
+ const wchar_t* url;
+ bool is_privileged;
+ bool expected;
+ } test_cases[] = {
+ // non-privileged test cases
+ { L"http://www.google.ca", false, true },
+ { L"https://www.google.ca", false, true },
+ { L"about:config", false, true },
+ { L"view-source:http://www.google.ca", false, true },
+ { L"chrome-extension://aaaaaaaaaaaaaaaaaaa/toolstrip.html", false, false },
+ { L"ftp://www.google.ca", false, false },
+ { L"file://www.google.ca", false, false },
+ { L"file://C:\boot.ini", false, false },
+
+ // privileged test cases
+ { L"http://www.google.ca", true, true },
+ { L"https://www.google.ca", true, true },
+ { L"about:config", true, true },
+ { L"view-source:http://www.google.ca", true, true },
+ { L"chrome-extension://aaaaaaaaaaaaaaaaaaa/toolstrip.html", true, true },
+ { L"ftp://www.google.ca", true, false },
+ { L"file://www.google.ca", true, false },
+ { L"file://C:\boot.ini", true, false },
+ };
+
+ for (int i = 0; i < arraysize(test_cases); ++i) {
+ const Cases& test = test_cases[i];
+ EXPECT_EQ(test.expected, IsValidUrlScheme(test.url, test.is_privileged));
+ }
+}