From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel.baumann@progress-linux.org>
Date: Sun, 7 Apr 2024 19:32:43 +0200
Subject: Adding upstream version 1:115.7.0.

Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
---
 ...token-parameter-validation.tentative.https.html | 78 ++++++++++++++++++++++
 1 file changed, 78 insertions(+)
 create mode 100644 testing/web-platform/tests/trust-tokens/trust-token-parameter-validation.tentative.https.html

(limited to 'testing/web-platform/tests/trust-tokens/trust-token-parameter-validation.tentative.https.html')

diff --git a/testing/web-platform/tests/trust-tokens/trust-token-parameter-validation.tentative.https.html b/testing/web-platform/tests/trust-tokens/trust-token-parameter-validation.tentative.https.html
new file mode 100644
index 0000000000..cf24b232e8
--- /dev/null
+++ b/testing/web-platform/tests/trust-tokens/trust-token-parameter-validation.tentative.https.html
@@ -0,0 +1,78 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>JavaScript: the Private Token API Fetch method correctly validates its parameters</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+  'use strict';
+
+  test(() => {
+    assert_throws_js(TypeError, () => {
+      new Request('https://example.com', {
+        privateToken: {
+          version: 1,
+          operation: "token-request",
+          refreshPolicy: "not a member of the refreshPolicy enum",
+        }
+      });
+    });
+  }, 'Private Token fetches require valid `refreshPolicy:` values, if provided.');
+
+  test(() => {
+    assert_throws_js(TypeError, () => {
+      new Request('https://example.com', {
+        privateToken: {
+          version: 1,
+          operation: "send-redemption-record",
+          issuers: []
+        }
+      });
+    });
+  }, 'Private Token signing operations require at least one issuer URL');
+
+  test(() => {
+    assert_throws_js(TypeError, () => {
+      new Request('https://example.com', {
+        privateToken: {
+          version: 1,
+          operation: "send-redemption-record",
+          issuers: [3]
+        }
+      });
+    });
+  }, 'Private Token signing operations require string issuer URLs, if provided.');
+
+  test(() => {
+    assert_throws_js(TypeError, () => {
+      new Request('https://example.com', {
+        privateToken: {
+          version: 1,
+          operation: "send-redemption-record",
+          issuers: ["not a valid URL"]
+        }
+      });
+    });
+  }, 'Private Token signing operations require valid issuer URLs, if provided.');
+
+  test(() => {
+    assert_throws_js(TypeError, () => {
+      new Request('https://example.com', {
+        privateToken: {
+          version: 1,
+          operation: "send-redemption-record",
+          issuers: ["http://not-secure.com"]
+        }
+      });
+    });
+  }, 'Private Token fetches require secure issuer URLs, if provided.');
+
+  test(() => {
+    new Request('https://example.com', {
+      privateToken: {
+        version: 1,
+        operation: "send-redemption-record",
+        issuers: ["http://localhost"]
+      }
+    });
+  }, 'Since localhost URLs are potentially trustworthy, setting an issuer to localhost should succeed.');
+</script>
-- 
cgit v1.2.3