summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/url/historical.any.js
blob: 9c4b5f0ae9bfad36ab84373342d8a52d72e23077 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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();