summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/cookies/ordering
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 00:47:55 +0000
commit26a029d407be480d791972afb5975cf62c9360a6 (patch)
treef435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/cookies/ordering
parentInitial commit. (diff)
downloadfirefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz
firefox-26a029d407be480d791972afb5975cf62c9360a6.zip
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/cookies/ordering')
-rw-r--r--testing/web-platform/tests/cookies/ordering/ordering.sub.html25
-rw-r--r--testing/web-platform/tests/cookies/ordering/resources/ordering-child.sub.html76
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