Index: chrome/renderer/content_settings_observer_unittest.cc |
diff --git a/chrome/renderer/content_settings_observer_unittest.cc b/chrome/renderer/content_settings_observer_unittest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..07afe7b86196cc0dcde771be6a458992d73b3fb0 |
--- /dev/null |
+++ b/chrome/renderer/content_settings_observer_unittest.cc |
@@ -0,0 +1,74 @@ |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "chrome/renderer/content_settings_observer.h" |
+ |
+#include "chrome/common/url_constants.h" |
+#include "content/public/common/url_constants.h" |
+#include "googleurl/src/gurl.h" |
+#include "testing/gtest/include/gtest/gtest.h" |
+#include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityOrigin.h" |
+ |
+using WebKit::WebSecurityOrigin; |
+ |
+class ContentSettingsObserverTest : public testing::Test {}; |
jochen (gone - plz use gerrit)
2011/12/01 15:23:31
typedef testing::Test ContentSettingsObserverTest
marja
2011/12/01 15:41:35
Done.
|
+ |
+TEST_F(ContentSettingsObserverTest, WhitelistedSchemes) { |
+ std::string end_url = ":something"; |
+ |
+ GURL chrome_ui_url = |
+ GURL(std::string(chrome::kChromeUIScheme).append(end_url)); |
+ ASSERT_TRUE( |
+ ContentSettingsObserver::IsWhitelistedForContentSettings( |
jochen (gone - plz use gerrit)
2011/12/01 15:23:31
fits on previous line?
marja
2011/12/01 15:41:35
Done.
|
+ WebSecurityOrigin::create(chrome_ui_url), |
+ GURL())); |
+ |
+ GURL chrome_dev_tools_url = |
+ GURL(std::string(chrome::kChromeDevToolsScheme).append(end_url)); |
+ EXPECT_TRUE( |
+ ContentSettingsObserver::IsWhitelistedForContentSettings( |
+ WebSecurityOrigin::create(chrome_dev_tools_url), |
+ GURL())); |
+ |
+ GURL extension_url = |
+ GURL(std::string(chrome::kExtensionScheme).append(end_url)); |
+ EXPECT_TRUE( |
+ ContentSettingsObserver::IsWhitelistedForContentSettings( |
+ WebSecurityOrigin::create(extension_url), |
+ GURL())); |
+ |
+ GURL chrome_internal_url = |
+ GURL(std::string(chrome::kChromeInternalScheme).append(end_url)); |
+ EXPECT_TRUE( |
+ ContentSettingsObserver::IsWhitelistedForContentSettings( |
+ WebSecurityOrigin::create(chrome_internal_url), |
+ GURL())); |
+ |
+ GURL file_url("file:///dir/"); |
+ EXPECT_TRUE( |
+ ContentSettingsObserver::IsWhitelistedForContentSettings( |
+ WebSecurityOrigin::create(file_url), |
+ GURL("file:///dir/"))); |
+ EXPECT_FALSE( |
+ ContentSettingsObserver::IsWhitelistedForContentSettings( |
+ WebSecurityOrigin::create(file_url), |
+ GURL("file:///dir/file"))); |
+ |
+ GURL ftp_url("ftp:///dir/"); |
+ EXPECT_TRUE( |
+ ContentSettingsObserver::IsWhitelistedForContentSettings( |
+ WebSecurityOrigin::create(ftp_url), |
+ GURL("ftp:///dir/"))); |
+ EXPECT_FALSE( |
+ ContentSettingsObserver::IsWhitelistedForContentSettings( |
+ WebSecurityOrigin::create(ftp_url), |
+ GURL("ftp:///dir/file"))); |
+ |
+ GURL http_url = |
+ GURL("http://server.com/path"); |
+ EXPECT_FALSE( |
+ ContentSettingsObserver::IsWhitelistedForContentSettings( |
+ WebSecurityOrigin::create(http_url), |
+ GURL())); |
+} |