<!doctype html>
<meta charset=utf-8>
<meta name=timeout content=long>
<meta name="variant" content="?1-4">
<meta name="variant" content="?5-8">
<meta name="variant" content="?9-12">
<meta name="variant" content="?12-last">
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src="/common/dispatcher/dispatcher.js"></script>
<script src="/common/get-host-info.sub.js"></script>
<script src="/common/subset-tests.js"></script>
<script src="/common/utils.js"></script>
<script src="resources/common.js"></script>
<script src="resources/popup-test.js"></script>
<script>
[
// None of the following should be recognized as "same-origin" (hence the
// preserved opener).
{
"title": "coop with semi-column",
"coop": "same-origin;",
},
{
"title": "coop with vertical tab",
"coop": "\u000bsame-origin\u000b",
},
{
"title": "coop with form feed",
"coop": "\u000csame-origin\u000c",
},
{
"title": "coop with carriage return",
"coop": "\u000dsame-origin\u000d",
},
{
"title": "coop with capital letter",
"coop": "Same-origin",
},
{
"title": "coop with bad structured header 1",
"coop": "same-origin;\tfoo=bar",
},
{
"title": "coop with bad structured header 2",
"coop": "same-origin ;foo=bar",
},
{
"title": "coop with bad structured header 3",
"coop": "same-origin; foo=bar;",
},
{
"title": "coop as a structured header 'string' item",
"coop": "\"same-origin\"",
},
{
"title": "coop as a structured header 'byte sequence' item",
"coop": ":c2FtZS1vcmlnaW4=:",
},
{
"title": "coop as a structured header 'boolean' item",
"coop": "?1",
},
{
"title": "coop as a structured header 'integer or decimal' item",
"coop": "1",
},
{
"title": "coop as an unrecognized structured header type",
"coop": "$same-origin",
},
{
"title": "coop with duplicate value",
"coop": "same-origin same-origin",
},
{
// Note: comma must be escaped here to not mess with the WPT pipe function.
"title": "coop with duplicate value, separated by a comma",
"coop": "same-origin\\,same-origin",
},
{
"title": "coop with preceding asterisk character",
"coop": "*same-origin ",
}
].forEach(variant => {
subsetTest(popup_test, `Parsing ${variant.title}`, SAME_ORIGIN, { coop: variant.coop }, "preserved");
});
</script>