Index: components/policy/core/browser/url_blacklist_manager_unittest.cc |
diff --git a/components/policy/core/browser/url_blacklist_manager_unittest.cc b/components/policy/core/browser/url_blacklist_manager_unittest.cc |
index 5e6e7f5fdad3f6ce7daf54fda7709e91b0263732..bf90091561c9ec4318749f4e637253f520e228e8 100644 |
--- a/components/policy/core/browser/url_blacklist_manager_unittest.cc |
+++ b/components/policy/core/browser/url_blacklist_manager_unittest.cc |
@@ -391,6 +391,16 @@ TEST_F(URLBlacklistManagerTest, Filtering) { |
EXPECT_FALSE(blacklist.IsURLBlocked(GURL("https://ws.aaa.com"))); |
EXPECT_FALSE(blacklist.IsURLBlocked(GURL("ftp://ws.aaa.com"))); |
+ // Filter custom schemes. |
+ blocked.reset(new base::ListValue); |
bartfab (slow)
2016/03/10 13:49:41
Nit: #include "base/values.h"
|
+ blocked->Append(new base::StringValue("custom://*")); |
+ blacklist.Block(blocked.get()); |
+ EXPECT_TRUE(blacklist.IsURLBlocked(GURL("custom://example_app"))); |
+ EXPECT_TRUE(blacklist.IsURLBlocked(GURL("custom:example2_app"))); |
+ EXPECT_FALSE(blacklist.IsURLBlocked(GURL("customs://example_apps"))); |
+ EXPECT_FALSE(blacklist.IsURLBlocked(GURL("cust*://example_ap"))); |
+ EXPECT_FALSE(blacklist.IsURLBlocked(GURL("ecustom:example_app"))); |
+ |
// Test exceptions to path prefixes, and most specific matches. |
blocked.reset(new base::ListValue); |
scoped_ptr<base::ListValue> allowed(new base::ListValue); |
@@ -679,4 +689,53 @@ TEST_F(URLBlacklistManagerTest, DefaultBlacklistExceptions) { |
EXPECT_FALSE((blacklist.IsURLBlocked(GURL("chrome-native://ntp")))); |
} |
+TEST_F(URLBlacklistManagerTest, UseBlacklistState) { |
+ URLBlacklist blacklist(GetSegmentURLCallback()); |
+ scoped_ptr<base::ListValue> blocked(new base::ListValue); |
+ scoped_ptr<base::ListValue> allowed(new base::ListValue); |
+ |
+ // Check some types of custom schemes. |
+ blocked->AppendString("youtube.com"); |
+ blocked->AppendString("custom://*"); |
+ allowed->AppendString("ggl://*"); |
+ allowed->AppendString("AbC://*"); |
+ // This is bad format, we support only custom_scheme://*. |
+ allowed->AppendString("wrong://app"); |
+ allowed->AppendString(" wrong://*"); |
+ allowed->AppendString("wrong ://*"); |
+ blacklist.Block(blocked.get()); |
+ blacklist.Allow(allowed.get()); |
+ |
+ EXPECT_TRUE(blacklist.GetURLBlacklistState(GURL("http://www.youtube.com")) == |
+ net::NetworkDelegate::URLBlacklistState::URL_IN_BLACKLIST); |
bartfab (slow)
2016/03/10 13:49:41
Nit: Here and below: Indent.
|
+ EXPECT_TRUE(blacklist.GetURLBlacklistState(GURL("custom://my_app1")) == |
+ net::NetworkDelegate::URLBlacklistState::URL_IN_BLACKLIST); |
+ EXPECT_TRUE(blacklist.GetURLBlacklistState(GURL("custom://my_app1/play")) == |
+ net::NetworkDelegate::URLBlacklistState::URL_IN_BLACKLIST); |
+ EXPECT_TRUE(blacklist.GetURLBlacklistState(GURL("custom://my_app2:8080")) == |
+ net::NetworkDelegate::URLBlacklistState::URL_IN_BLACKLIST); |
+ EXPECT_TRUE(blacklist.GetURLBlacklistState(GURL("custom:my_app3/path")) == |
+ net::NetworkDelegate::URLBlacklistState::URL_IN_BLACKLIST); |
+ EXPECT_TRUE(blacklist.GetURLBlacklistState(GURL("custom:my_app4_game")) == |
+ net::NetworkDelegate::URLBlacklistState::URL_IN_BLACKLIST); |
+ |
+ // Shouldn't match with anything, since the format defined in allowed is not |
Thiemo Nagel
2016/03/10 14:37:26
s/with//
s/,//
igorcov1
2016/04/12 07:01:46
Done.
|
+ // supported. |
+ EXPECT_TRUE(blacklist.GetURLBlacklistState(GURL("wrong://app")) == |
+ net::NetworkDelegate::URLBlacklistState::URL_NEUTRAL_STATE); |
+ EXPECT_TRUE(blacklist.GetURLBlacklistState(GURL(" wrong://app")) == |
+ net::NetworkDelegate::URLBlacklistState::URL_NEUTRAL_STATE); |
+ EXPECT_TRUE(blacklist.GetURLBlacklistState(GURL("wrong ://*")) == |
+ net::NetworkDelegate::URLBlacklistState::URL_NEUTRAL_STATE); |
+ |
+ EXPECT_TRUE(blacklist.GetURLBlacklistState(GURL("ggl:super_app")) == |
+ net::NetworkDelegate::URLBlacklistState::URL_IN_WHITELIST); |
+ EXPECT_TRUE(blacklist.GetURLBlacklistState(GURL("ggl://app/path:8182")) == |
+ net::NetworkDelegate::URLBlacklistState::URL_IN_WHITELIST); |
+ EXPECT_TRUE(blacklist.GetURLBlacklistState(GURL("AbC://app/path:8182")) == |
+ net::NetworkDelegate::URLBlacklistState::URL_IN_WHITELIST); |
+ EXPECT_TRUE(blacklist.GetURLBlacklistState(GURL("abc://app")) == |
+ net::NetworkDelegate::URLBlacklistState::URL_IN_WHITELIST); |
+} |
+ |
} // namespace policy |