OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE html> |
| 2 <html> |
| 3 <head> |
| 4 <script src="inspector-protocol-test.js"></script> |
| 5 <script> |
| 6 function test() |
| 7 { |
| 8 InspectorTest.log("Test started"); |
| 9 |
| 10 var testCookies = [ |
| 11 function simpleCookieAdd(done) |
| 12 { |
| 13 setCookie({url: "http://127.0.0.1", name: "foo", value: "bar1"}, don
e); |
| 14 }, |
| 15 |
| 16 function simpleCookieChange(done) |
| 17 { |
| 18 setCookie({url: "http://127.0.0.1", name: "foo", value: "second bar2
"}, done); |
| 19 }, |
| 20 |
| 21 function anotherSimpleCookieAdd(done) |
| 22 { |
| 23 setCookie({url: "http://127.0.0.1", name: "foo2", value: "bar1"}, do
ne); |
| 24 }, |
| 25 |
| 26 function simpleCookieDelete(done) |
| 27 { |
| 28 deleteCookie({url: "http://127.0.0.1", cookieName: "foo"}, done); |
| 29 }, |
| 30 |
| 31 deleteAllCookies, |
| 32 |
| 33 function sessionCookieAdd(done) |
| 34 { |
| 35 setCookie({url: "http://127.0.0.1", name: "foo", value: "bar4", expi
rationDate: undefined}, done); |
| 36 }, |
| 37 |
| 38 deleteAllCookies, |
| 39 |
| 40 function nonSessionCookieZeroAdd(done) |
| 41 { |
| 42 setCookie({url: "http://127.0.0.1", name: "foo", value: "bar5", expi
rationDate: 0}, done); |
| 43 }, |
| 44 |
| 45 deleteAllCookies, |
| 46 |
| 47 function nonSessionCookieAdd(done) |
| 48 { |
| 49 setCookie({url: "http://127.0.0.1", name: "foo", value: "bar6", expi
rationDate: new Date().getTime() + 1000000}, done); |
| 50 }, |
| 51 |
| 52 deleteAllCookies, |
| 53 |
| 54 function differentOriginCookieAdd(done) |
| 55 { |
| 56 // Will result in success but not show up |
| 57 setCookie({url: "http://example.com", name: "foo", value: "bar7"}, d
one); |
| 58 }, |
| 59 |
| 60 function invalidCookieAddDomain(done) |
| 61 { |
| 62 setCookie({url: "ht2tp://127.0.0.1", name: "foo", value: "bar8"}, do
ne); |
| 63 }, |
| 64 |
| 65 function invalidCookieAddName(done) |
| 66 { |
| 67 setCookie({url: "http://127.0.0.1", name: "foo\0\r\na", value: "bar9
"}, done); |
| 68 }, |
| 69 |
| 70 deleteAllCookies, |
| 71 |
| 72 function secureCookieAdd(done) |
| 73 { |
| 74 // Will succeed but not be shown because not over https |
| 75 setCookie({url: "http://127.0.0.1", secure: true, name: "foo", value
: "bar"}, done); |
| 76 }, |
| 77 |
| 78 deleteAllCookies, |
| 79 |
| 80 function cookieAddHttpOnly(done) |
| 81 { |
| 82 setCookie({url: "http://127.0.0.1", httpOnly: true, name: "foo", val
ue: "bar"}, done); |
| 83 }, |
| 84 |
| 85 deleteAllCookies, |
| 86 |
| 87 function cookieAddSameSiteLax(done) |
| 88 { |
| 89 setCookie({url: "http://127.0.0.1", sameSite: "Lax", name: "foo", va
lue: "bar"}, done); |
| 90 }, |
| 91 |
| 92 deleteAllCookies, |
| 93 |
| 94 function cookieAddSameSiteLax(done) |
| 95 { |
| 96 setCookie({url: "http://127.0.0.1", sameSite: "Strict", name: "foo",
value: "bar"}, done); |
| 97 } |
| 98 ]; |
| 99 |
| 100 enableNetwork(); |
| 101 |
| 102 function enableNetwork() |
| 103 { |
| 104 InspectorTest.log("Enabling network"); |
| 105 InspectorTest.sendCommandOrDie("Network.enable", {}, InspectorTest.runTe
stSuite(testCookies)); |
| 106 } |
| 107 |
| 108 function setCookie(cookie, done) |
| 109 { |
| 110 InspectorTest.log("Setting Cookie"); |
| 111 InspectorTest.sendCommandOrDie("Network.setCookie", cookie, (response) =
> logCookies(done, response.success)); |
| 112 } |
| 113 |
| 114 function deleteCookie(cookie, done) |
| 115 { |
| 116 InspectorTest.log("Deleting Cookie"); |
| 117 InspectorTest.sendCommandOrDie("Network.deleteCookie", cookie, () => log
Cookies(done)); |
| 118 } |
| 119 |
| 120 function deleteAllCookies(done) |
| 121 { |
| 122 InspectorTest.log("Removing All Cookies"); |
| 123 InspectorTest.sendCommandOrDie("Network.getCookies", {}, gotCookiesForDe
lete.bind(null, done)); |
| 124 } |
| 125 |
| 126 function gotCookiesForDelete(done, data) |
| 127 { |
| 128 var promises = []; |
| 129 for (var cookie of data.cookies) { |
| 130 var url = "http://" + cookie.domain + "/" + cookie.path; |
| 131 promises.push(InspectorTest.sendCommandPromise("Network.deleteCookie
", {url: url, cookieName: cookie.name})); |
| 132 } |
| 133 |
| 134 Promise.all(promises).then(logCookies.bind(null, done, undefined)); |
| 135 } |
| 136 |
| 137 function logCookies(done, success) |
| 138 { |
| 139 |
| 140 InspectorTest.log("Logging Cookies"); |
| 141 if (success !== undefined) |
| 142 InspectorTest.log("Success: " + success); |
| 143 InspectorTest.sendCommandOrDie("Network.getCookies", {}, logReceivedGetC
ookies.bind(null, done)); |
| 144 } |
| 145 function logReceivedGetCookies(done, data) |
| 146 { |
| 147 InspectorTest.log("Num of cookies " + data.cookies.length); |
| 148 for (var cookie of data.cookies) { |
| 149 InspectorTest.log(" Cookie: "); |
| 150 InspectorTest.log(" Domain: " + cookie.domain); |
| 151 InspectorTest.log(" Name: " + cookie.name); |
| 152 InspectorTest.log(" Value: " + cookie.value); |
| 153 InspectorTest.log(" Path: " + cookie.path); |
| 154 InspectorTest.log(" HttpOnly: " + cookie.httpOnly); |
| 155 InspectorTest.log(" Secure: " + cookie.secure); |
| 156 InspectorTest.log(" Session: " + cookie.session); |
| 157 } |
| 158 done(); |
| 159 } |
| 160 } |
| 161 </script> |
| 162 </head> |
| 163 <body onload="runTest();"> |
| 164 <p>Tests that cookies are set, updated and removed.</p> |
| 165 </body> |
| 166 </html> |
OLD | NEW |