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';");
}