diff options
Diffstat (limited to 'testing/web-platform/tests/cookies/ordering')
-rw-r--r-- | testing/web-platform/tests/cookies/ordering/ordering.sub.html | 25 | ||||
-rw-r--r-- | testing/web-platform/tests/cookies/ordering/resources/ordering-child.sub.html | 76 |
2 files changed, 101 insertions, 0 deletions
diff --git a/testing/web-platform/tests/cookies/ordering/ordering.sub.html b/testing/web-platform/tests/cookies/ordering/ordering.sub.html new file mode 100644 index 0000000000..2c4db4e20f --- /dev/null +++ b/testing/web-platform/tests/cookies/ordering/ordering.sub.html @@ -0,0 +1,25 @@ +<!doctype html> +<html> + <head> + <meta charset=utf-8> + <title>Test cookie ordering</title> + <meta name=help href="https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-07#section-5.5"> + <meta name="timeout" content="long"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> + <script src="/resources/testdriver.js"></script> + <script src="/resources/testdriver-vendor.js"></script> + </head> + </head> + <body> + <script> + const port = "{{ports[http][0]}}"; + const wwwHost = "{{domains[www]}}"; + + test(t => { + const win = window.open(`http://${wwwHost}:${port}/cookies/ordering/resources/ordering-child.sub.html`); + fetch_tests_from_window(win); + }); + </script> + </body> +</html> diff --git a/testing/web-platform/tests/cookies/ordering/resources/ordering-child.sub.html b/testing/web-platform/tests/cookies/ordering/resources/ordering-child.sub.html new file mode 100644 index 0000000000..b40ec64814 --- /dev/null +++ b/testing/web-platform/tests/cookies/ordering/resources/ordering-child.sub.html @@ -0,0 +1,76 @@ +<!doctype html> +<html> + <head> + <meta charset=utf-8> + <title>Test cookie ordering</title> + <meta name=help href="https://tools.ietf.org/html/draft-ietf-httpbis-rfc6265bis-07#section-5.5"> + <meta name="timeout" content="long"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testdriver.js"></script> + <script src="/resources/testdriver-vendor.js"></script> + <script src="/cookies/resources/cookie-test.js"></script> + </head> + <body> + <div id=log></div> + <script> + const host = "{{host}}"; + const wwwHost = "{{domains[www]}}"; + + const orderingTests = [ + { + cookie: [ + "testA=1", + "testB=1; path=/cookies", + "testC=1; path=/", + "testD=1; path=/cooking", + `testE=1; domain=.${host}; path=/`, + `testF=1; domain=.${host}; path=/cookies/attributes`, + ], + expected: "testF=1; testB=1; testC=1; testE=1", + name: "Cookies with longer path attribute values are ordered before shorter ones", + location: "/cookies/attributes/resources/path/one.html", + }, + { + cookie: [ + "testA=2", + "testB=2; path=/cookies/attributes/resources", + "testC=2; path=/", + "testD=2; path=/cooking", + `testE=2; domain=.${host}`, + `testF=2; domain=.${host}; path=/cookies/attributes`, + `testG=2; domain=.${host}; path=/cookies/attributes/resources/path`, + "testH=2; path=/cookies", + ], + expected: "testG=2; testB=2; testF=2; testH=2; testC=2", + name: "Cookies with longer path attribute values are ordered before shorter ones (2)", + location: "/cookies/attributes/resources/path/one.html", + }, + { + cookie: [ + "testA=3; path=/cookies/attributes/resources/path", + "testB=3; path=/cookies/attributes/resources/path/one.html", + "testC=3; path=/cookies/attributes", + ], + expected: "testB=3; testA=3; testC=3", + name: "Cookies with longer paths are listed before cookies with shorter paths", + location: "/cookies/attributes/resources/path/one.html", + }, + { + cookie: [ + "testZ=4; path=/cookies", + "testB=4; path=/cookies/attributes/resources/path", + "testA=4; path=/cookies", + ], + expected: "testB=4; testZ=4; testA=4", + name: "For equal length paths, list the cookie with an earlier creation time first", + location: "/cookies/attributes/resources/path/one.html", + }, + ]; + + for (const test of orderingTests) { + httpRedirectCookieTest(test.cookie, test.expected, test.name, + test.location); + } + </script> + </body> +</html>
\ No newline at end of file |