- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / renderer / content_settings_observer_unittest.cc
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
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 "chrome/renderer/content_settings_observer.h"
6
7 #include "chrome/common/url_constants.h"
8 #include "content/public/common/url_constants.h"
9 #include "extensions/common/constants.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11 #include "third_party/WebKit/public/web/WebSecurityOrigin.h"
12 #include "url/gurl.h"
13
14 using WebKit::WebSecurityOrigin;
15
16 typedef testing::Test ContentSettingsObserverTest;
17
18 TEST_F(ContentSettingsObserverTest, WhitelistedSchemes) {
19   std::string end_url = ":something";
20
21   GURL chrome_ui_url =
22       GURL(std::string(chrome::kChromeUIScheme).append(end_url));
23   EXPECT_TRUE(ContentSettingsObserver::IsWhitelistedForContentSettings(
24       WebSecurityOrigin::create(chrome_ui_url),
25       GURL()));
26
27   GURL chrome_dev_tools_url =
28       GURL(std::string(chrome::kChromeDevToolsScheme).append(end_url));
29   EXPECT_TRUE(ContentSettingsObserver::IsWhitelistedForContentSettings(
30       WebSecurityOrigin::create(chrome_dev_tools_url),
31       GURL()));
32
33   GURL extension_url =
34       GURL(std::string(extensions::kExtensionScheme).append(end_url));
35   EXPECT_TRUE(ContentSettingsObserver::IsWhitelistedForContentSettings(
36       WebSecurityOrigin::create(extension_url),
37       GURL()));
38
39   GURL chrome_internal_url =
40       GURL(std::string(chrome::kChromeInternalScheme).append(end_url));
41   EXPECT_TRUE(ContentSettingsObserver::IsWhitelistedForContentSettings(
42       WebSecurityOrigin::create(chrome_internal_url),
43       GURL()));
44
45   GURL file_url("file:///dir/");
46   EXPECT_TRUE(ContentSettingsObserver::IsWhitelistedForContentSettings(
47       WebSecurityOrigin::create(file_url),
48       GURL("file:///dir/")));
49   EXPECT_FALSE(ContentSettingsObserver::IsWhitelistedForContentSettings(
50       WebSecurityOrigin::create(file_url),
51       GURL("file:///dir/file")));
52
53   GURL http_url =
54       GURL("http://server.com/path");
55   EXPECT_FALSE(ContentSettingsObserver::IsWhitelistedForContentSettings(
56       WebSecurityOrigin::create(http_url),
57       GURL()));
58 }