cookies.http.html (1492B)
1 <!doctype html> 2 <meta charset=utf-8> 3 <script src="/resources/testharness.js"></script> 4 <script src="/resources/testharnessreport.js"></script> 5 <body> 6 <p>Derived from historical testcase for <a href="http://bugs.webkit.org/show_bug.cgi?id=3420">WebKit bug 3420</a>: 7 XMLHttpRequest does not handle set-cookie headers.</p> 8 9 <script> 10 function clearCookies() 11 { 12 return new Promise(resolve => { 13 var req = new XMLHttpRequest; 14 req.open("POST", "resources/get-set-cookie.py?clear=1"); 15 req.onload = () => resolve(); 16 req.send(""); 17 }); 18 } 19 function getAndSetCookies() 20 { 21 return new Promise(resolve => { 22 var req = new XMLHttpRequest; 23 req.open("POST", "resources/get-set-cookie.py"); 24 req.onload = () => resolve(req.responseText); 25 req.send(""); 26 }); 27 } 28 29 promise_test(async function(t) { 30 await clearCookies(); 31 var response = await getAndSetCookies(); 32 assert_equals(response.match(/.*WK-test=1.*/), null, 33 "The cookie must not be present after clear. clearCookies() failed. Must be a bug in the test!"); 34 var response = await getAndSetCookies(); 35 assert_equals(response.match(/.*WK-test-secure=1.*/), null, 36 "a secure cookie was sent via HTTP"); 37 assert_regexp_match(response, /.*WK-test=1.*/, "an insecure cookie was sent"); 38 await clearCookies(); 39 }, "Basic non-cross-site cookie handling in XHR"); 40 </script> 41 </html>