diff options
author | tommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-01 16:00:21 +0000 |
---|---|---|
committer | tommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-01 16:00:21 +0000 |
commit | 10bf1a7030eeed02e2af95eaff012d2428ea5bc2 (patch) | |
tree | f381f0333bb9901aca6d2d5e2b0fdbfc5743b6d2 /chrome_frame/test/util_unittests.cc | |
parent | 7f14e1fd31ddd510b19e2d9f6942c45435c9a8c6 (diff) | |
download | chromium_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.cc | 33 |
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)); + } +} |