WebCore:
[WebKit-https.git] / LayoutTests / fast / dom / resources / location-new-window-no-crash.js
1 description("Tests that manipulating location properties in a just-created window object does not crash.");
2
3 var testWindow = open("data:text/plain,a");
4
5 // Note that the window does not navigate to the new URL right away, and that is a crucial element
6 // of the test. We're checking behavior when the object was just created and is not yet at its new
7 // location.
8
9 shouldBe("testWindow.location.toString()", "'/'"); // Firefox returns about:blank
10 shouldBe("testWindow.location.href", "'/'"); // Firefox returns about:blank
11 shouldBe("testWindow.location.protocol", "':'"); // Firefox returns about:
12 shouldBe("testWindow.location.host", "''"); // Firefox throws an exception
13 shouldBe("testWindow.location.hostname", "''"); // Firefox throws an exception
14 shouldBe("testWindow.location.port", "''");
15 shouldBe("testWindow.location.pathname", "'/'"); // Firefox returns the empty string
16 shouldBe("testWindow.location.search", "''");
17 shouldBe("testWindow.location.hash", "''");
18
19 shouldBe("testWindow.location.href = 'data:text/plain,b'", "'data:text/plain,b'");
20 shouldBe("testWindow.location.protocol = 'data'", "'data'"); // Firefox throws an exception
21 shouldBe("testWindow.location.host = 'c'", "'c'"); // Firefox throws an exception
22 shouldBe("testWindow.location.hostname = 'd'", "'d'"); // Firefox throws an exception
23 shouldBe("testWindow.location.port = 'e'", "'e'"); // Firefox throws an exception
24 shouldBe("testWindow.location.pathname = 'f'", "'f'"); // Firefox throws an exception
25 shouldBe("testWindow.location.search = 'g'", "'g'");
26 shouldBe("testWindow.location.hash = 'h'", "'h'");
27
28 shouldBe("testWindow.location.assign('data:text/plain,i')", "undefined"); // Firefox returns about:blank
29 shouldBe("testWindow.location.replace('data:text/plain,j')", "undefined"); // Firefox returns about:blank
30 shouldBe("testWindow.location.reload()", "undefined"); // Firefox returns about:blank
31
32 shouldBe("testWindow.location.toString()", "'/'"); // Firefox returns about:blank
33 shouldBe("testWindow.location.href", "'/'"); // Firefox returns about:blank
34 shouldBe("testWindow.location.protocol", "':'"); // Firefox returns about:
35 shouldBe("testWindow.location.host", "''"); // Firefox throws an exception
36 shouldBe("testWindow.location.hostname", "''"); // Firefox throws an exception
37 shouldBe("testWindow.location.port", "''");
38 shouldBe("testWindow.location.pathname", "'/'"); // Firefox returns the empty string
39 shouldBe("testWindow.location.search", "''");
40 shouldBe("testWindow.location.hash", "''");
41
42 testWindow.close();
43
44 var successfullyParsed = true;