TEST(HTTPParsersTest, SuboriginParseInvalidPolicy) { expectParsePolicyFail("One policy, no suborigin name", "'unsafe-postmessage-send'"); expectParsePolicyFail("One policy, invalid characters", "foobar 'un$afe-postmessage-send'"); expectParsePolicyFail("One policy, caps", "foobar 'UNSAFE-POSTMESSAGE-SEND'"); expectParsePolicyFail("One policy, missing first quote", "foobar unsafe-postmessage-send'"); expectParsePolicyFail("One policy, missing last quote", "foobar 'unsafe-postmessage-send"); expectParsePolicyFail("One policy, invalid character at end", "foobar 'unsafe-postmessage-send';"); expectParsePolicyFail("Multiple policies, extra character between options", "foobar 'unsafe-postmessage-send' ; 'unsafe-postmessage-send'"); expectParsePolicyFail("Policy that is a single quote", "foobar '"); expectParsePolicyFail("Valid policy and then policy that is a single quote", "foobar 'unsafe-postmessage-send' '"); }
TEST(HTTPParsersTest, SuboriginParseInvalidPolicy) { expectParsePolicyFail("One policy, no suborigin name", "'unsafe-postmessage-send';"); expectParsePolicyFail("One policy, invalid characters", "foobar 'un$afe-postmessage-send';"); expectParsePolicyFail("One policy, caps", "foobar 'UNSAFE-POSTMESSAGE-SEND';"); expectParsePolicyFail("One policy, missing first quote", "foobar unsafe-postmessage-send';"); expectParsePolicyFail("One policy, missing last quote", "foobar 'unsafe-postmessage-send;"); expectParsePolicyFail("One policy, missing semicolon at end", "foobar 'unsafe-postmessage-send'"); expectParsePolicyFail("Multiple policies, missing semicolon between options", "foobar 'unsafe-postmessage-send' 'unsafe-postmessage-send';"); }