document-cookie.html (1296B)
1 <!DOCTYPE html> 2 <meta charset=utf-8> 3 <title>document.cookie</title> 4 <link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org"> 5 <link rel=help href="https://html.spec.whatwg.org/multipage/#resource-metadata-management"> 6 <script src="/resources/testharness.js"></script> 7 <script src="/resources/testharnessreport.js"></script> 8 <div id="log"></div> 9 <script> 10 11 const TEST_CASES = [ 12 {value: "", expected: "", name: "Empty value"}, 13 {value: "a=b", expected: "a=b", name: "A simple cookie"}, 14 {value: "b=A\0Z", expected: "", name: "A null char"}, 15 ]; 16 17 test(function(){ 18 assert_equals(document.cookie, ""); 19 }, "document has no cookie"); 20 21 for (const i in TEST_CASES) { 22 const t = TEST_CASES[i]; 23 test(() => { 24 document.cookie = t.value; 25 assert_equals(document.cookie, t.expected); 26 27 // Cleanup 28 if (document.cookie.includes("=")) { 29 document.cookie = document.cookie.split("=")[0] + "=; expires=Thu, 01 Jan 1970 00:00:00 GMT"; 30 assert_equals(document.cookie, ""); 31 } 32 }, t.name); 33 } 34 35 test(function(){ 36 var doc = document.implementation.createHTMLDocument("doc"); 37 assert_equals(doc.cookie, ""); 38 doc.cookie = "test=foobar"; 39 assert_equals(doc.cookie, ""); 40 }, "getting cookie for a cookie-averse document returns empty string, setting does nothing"); 41 </script>