summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/url/historical.any.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/url/historical.any.js')
-rw-r--r--testing/web-platform/tests/url/historical.any.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/testing/web-platform/tests/url/historical.any.js b/testing/web-platform/tests/url/historical.any.js
new file mode 100644
index 0000000000..9c4b5f0ae9
--- /dev/null
+++ b/testing/web-platform/tests/url/historical.any.js
@@ -0,0 +1,46 @@
+if (self.location) {
+ test(function() {
+ assert_false("searchParams" in self.location,
+ "location object should not have a searchParams attribute");
+ }, "searchParams on location object");
+}
+
+if(self.GLOBAL.isWindow()) {
+ test(() => {
+ assert_false("searchParams" in document.createElement("a"))
+ assert_false("searchParams" in document.createElement("area"))
+ }, "<a> and <area>.searchParams should be undefined");
+}
+
+test(function() {
+ var url = new URL("./foo", "http://www.example.org");
+ assert_equals(url.href, "http://www.example.org/foo");
+ assert_throws_js(TypeError, function() {
+ url.href = "./bar";
+ });
+}, "Setting URL's href attribute and base URLs");
+
+test(function() {
+ assert_equals(URL.domainToASCII, undefined);
+}, "URL.domainToASCII should be undefined");
+
+test(function() {
+ assert_equals(URL.domainToUnicode, undefined);
+}, "URL.domainToUnicode should be undefined");
+
+test(() => {
+ assert_throws_dom("DataCloneError", () => self.structuredClone(new URL("about:blank")));
+}, "URL: no structured serialize/deserialize support");
+
+test(() => {
+ assert_throws_dom("DataCloneError", () => self.structuredClone(new URLSearchParams()));
+}, "URLSearchParams: no structured serialize/deserialize support");
+
+test(() => {
+ const url = new URL("about:blank");
+ url.toString = () => { throw 1 };
+ assert_throws_exactly(1, () => new URL(url), "url argument");
+ assert_throws_exactly(1, () => new URL("about:blank", url), "base argument");
+}, "Constructor only takes strings");
+
+done();