browser_cookies.js (1512B)
1 "use strict"; 2 3 CookiePolicyHelper.runTest("document.cookies", { 4 cookieJarAccessAllowed: async _ => { 5 let hasCookie = !!content.document.cookie.length; 6 7 await content 8 .fetch("server.sjs") 9 .then(r => r.text()) 10 .then(text => { 11 is( 12 text, 13 hasCookie ? "cookie-present" : "cookie-not-present", 14 "document.cookie is consistent with fetch requests" 15 ); 16 }); 17 18 content.document.cookie = "name=value"; 19 ok(content.document.cookie.includes("name=value"), "Some cookies for me"); 20 ok(content.document.cookie.includes("foopy=1"), "Some cookies for me"); 21 22 await content 23 .fetch("server.sjs") 24 .then(r => r.text()) 25 .then(text => { 26 is(text, "cookie-present", "We should have cookies"); 27 }); 28 29 ok(!!content.document.cookie.length, "Some Cookies for me"); 30 }, 31 32 cookieJarAccessDenied: async _ => { 33 is(content.document.cookie, "", "No cookies for me"); 34 content.document.cookie = "name=value"; 35 is(content.document.cookie, "", "No cookies for me"); 36 37 await content 38 .fetch("server.sjs") 39 .then(r => r.text()) 40 .then(text => { 41 is(text, "cookie-not-present", "We should not have cookies"); 42 }); 43 // Let's do it twice. 44 await content 45 .fetch("server.sjs") 46 .then(r => r.text()) 47 .then(text => { 48 is(text, "cookie-not-present", "We should not have cookies"); 49 }); 50 51 is(content.document.cookie, "", "Still no cookies for me"); 52 }, 53 });