diff options
Diffstat (limited to 'test/wpt/tests/xhr/cookies.http.html')
-rw-r--r-- | test/wpt/tests/xhr/cookies.http.html | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/test/wpt/tests/xhr/cookies.http.html b/test/wpt/tests/xhr/cookies.http.html new file mode 100644 index 0000000..0ab71dd --- /dev/null +++ b/test/wpt/tests/xhr/cookies.http.html @@ -0,0 +1,41 @@ +<!doctype html> +<meta charset=utf-8> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<body> +<p>Derived from historical testcase for <a href="http://bugs.webkit.org/show_bug.cgi?id=3420">WebKit bug 3420</a>: +XMLHttpRequest does not handle set-cookie headers.</p> + +<script> + function clearCookies() + { + return new Promise(resolve => { + var req = new XMLHttpRequest; + req.open("POST", "resources/get-set-cookie.py?clear=1"); + req.onload = () => resolve(); + req.send(""); + }); + } + function getAndSetCookies() + { + return new Promise(resolve => { + var req = new XMLHttpRequest; + req.open("POST", "resources/get-set-cookie.py"); + req.onload = () => resolve(req.responseText); + req.send(""); + }); + } + + promise_test(async function(t) { + await clearCookies(); + var response = await getAndSetCookies(); + assert_equals(response.match(/.*WK-test=1.*/), null, + "The cookie must not be present after clear. clearCookies() failed. Must be a bug in the test!"); + var response = await getAndSetCookies(); + assert_equals(response.match(/.*WK-test-secure=1.*/), null, + "a secure cookie was sent via HTTP"); + assert_regexp_match(response, /.*WK-test=1.*/, "an insecure cookie was sent"); + await clearCookies(); + }, "Basic non-cross-site cookie handling in XHR"); +</script> +</html> |