Index: third_party/WebKit/Source/platform/feature_policy/FeaturePolicyTest.cpp |
diff --git a/third_party/WebKit/Source/platform/feature_policy/FeaturePolicyTest.cpp b/third_party/WebKit/Source/platform/feature_policy/FeaturePolicyTest.cpp |
index ff425738d5848763491adbbf42d0b4729dbfd05e..f3dfdb035398e808810f1ab2726435ed3d683922 100644 |
--- a/third_party/WebKit/Source/platform/feature_policy/FeaturePolicyTest.cpp |
+++ b/third_party/WebKit/Source/platform/feature_policy/FeaturePolicyTest.cpp |
@@ -46,13 +46,19 @@ class FeaturePolicyTest : public ::testing::Test { |
RefPtr<SecurityOrigin> origin_a_ = SecurityOrigin::CreateFromString(ORIGIN_A); |
RefPtr<SecurityOrigin> origin_b_ = SecurityOrigin::CreateFromString(ORIGIN_B); |
RefPtr<SecurityOrigin> origin_c_ = SecurityOrigin::CreateFromString(ORIGIN_C); |
+ |
+ const FeatureNameMap test_feature_name_map = { |
+ {"fullscreen", blink::WebFeaturePolicyFeature::kFullscreen}, |
+ {"payment", blink::WebFeaturePolicyFeature::kPayment}, |
+ {"vibrate", blink::WebFeaturePolicyFeature::kVibrate}}; |
}; |
TEST_F(FeaturePolicyTest, ParseValidPolicy) { |
Vector<String> messages; |
for (const char* policy_string : kValidPolicies) { |
messages.clear(); |
- ParseFeaturePolicy(policy_string, origin_a_.Get(), &messages); |
+ ParseFeaturePolicy(policy_string, origin_a_.Get(), &messages, |
+ test_feature_name_map); |
EXPECT_EQ(0UL, messages.size()); |
} |
} |
@@ -61,7 +67,8 @@ TEST_F(FeaturePolicyTest, ParseInvalidPolicy) { |
Vector<String> messages; |
for (const char* policy_string : kInvalidPolicies) { |
messages.clear(); |
- ParseFeaturePolicy(policy_string, origin_a_.Get(), &messages); |
+ ParseFeaturePolicy(policy_string, origin_a_.Get(), &messages, |
+ test_feature_name_map); |
EXPECT_NE(0UL, messages.size()); |
} |
} |
@@ -70,23 +77,24 @@ TEST_F(FeaturePolicyTest, PolicyParsedCorrectly) { |
Vector<String> messages; |
// Empty policy. |
- WebParsedFeaturePolicy parsed_policy = |
- ParseFeaturePolicy("{}", origin_a_.Get(), &messages); |
+ WebParsedFeaturePolicy parsed_policy = ParseFeaturePolicy( |
+ "{}", origin_a_.Get(), &messages, test_feature_name_map); |
EXPECT_EQ(0UL, parsed_policy.size()); |
// Simple policy with "self". |
- parsed_policy = ParseFeaturePolicy("{\"vibrate\": [\"self\"]}", |
- origin_a_.Get(), &messages); |
+ parsed_policy = |
+ ParseFeaturePolicy("{\"vibrate\": [\"self\"]}", origin_a_.Get(), |
+ &messages, test_feature_name_map); |
EXPECT_EQ(1UL, parsed_policy.size()); |
+ |
EXPECT_EQ(WebFeaturePolicyFeature::kVibrate, parsed_policy[0].feature); |
EXPECT_FALSE(parsed_policy[0].matches_all_origins); |
EXPECT_EQ(1UL, parsed_policy[0].origins.size()); |
EXPECT_TRUE(origin_a_->IsSameSchemeHostPortAndSuborigin( |
parsed_policy[0].origins[0].Get())); |
- |
// Simple policy with *. |
- parsed_policy = |
- ParseFeaturePolicy("{\"vibrate\": [\"*\"]}", origin_a_.Get(), &messages); |
+ parsed_policy = ParseFeaturePolicy("{\"vibrate\": [\"*\"]}", origin_a_.Get(), |
+ &messages, test_feature_name_map); |
EXPECT_EQ(1UL, parsed_policy.size()); |
EXPECT_EQ(WebFeaturePolicyFeature::kVibrate, parsed_policy[0].feature); |
EXPECT_TRUE(parsed_policy[0].matches_all_origins); |
@@ -97,7 +105,7 @@ TEST_F(FeaturePolicyTest, PolicyParsedCorrectly) { |
"{\"vibrate\": [\"*\"], " |
"\"fullscreen\": [\"https://example.net\", \"https://example.org\"], " |
"\"payment\": [\"self\"]}", |
- origin_a_.Get(), &messages); |
+ origin_a_.Get(), &messages, test_feature_name_map); |
EXPECT_EQ(3UL, parsed_policy.size()); |
EXPECT_EQ(WebFeaturePolicyFeature::kVibrate, parsed_policy[0].feature); |
EXPECT_TRUE(parsed_policy[0].matches_all_origins); |