2009-02-23 Gustavo Noronha Silva <gns@gnome.org>
[WebKit-https.git] / LayoutTests / fast / loader / location-port.html
1 <html>
2 <head>
3 <script>
4     function print(message, color)
5     {
6         var paragraph = document.createElement("div");
7         paragraph.appendChild(document.createTextNode(message));
8         paragraph.style.fontFamily = "monospace";
9         if (color)
10             paragraph.style.color = color;
11             document.getElementById("console").appendChild(paragraph);
12     }
13
14     function shouldBe(a, b)
15     {
16         var internalFrame = document.getElementById ('internal');
17
18         var evalA = eval(a);
19         if (evalA == b)
20             print("PASS: " + a + " should be " + b + " and is.", "green");
21         else {
22             print("FAIL: " + a + " should be " + b + " but instead is " + evalA + ".", "red");
23         }
24     }
25
26     function checkTest1() {
27         var internalFrame = document.getElementById ('internal');
28         shouldBe('internalFrame.contentWindow.location.port == "88"', true);
29
30         internalFrame.contentWindow.location.port = 0;
31         setTimeout(checkTest2, 300);
32     }
33
34     function checkTest2() {
35         var internalFrame = document.getElementById ('internal');
36         shouldBe('internalFrame.contentWindow.location.port == ""', true);
37
38         internalFrame.contentWindow.location.port = 80;
39         setTimeout(checkTest3, 300);
40     }
41
42     function checkTest3() {
43         var internalFrame = document.getElementById ('internal');
44         shouldBe('internalFrame.contentWindow.location.port == "80"', true);
45
46         if (window.layoutTestController)
47             layoutTestController.notifyDone();
48     }
49
50     function runTests() {
51         if (window.layoutTestController) {
52             layoutTestController.clearBackForwardList();
53             layoutTestController.dumpAsText();
54             layoutTestController.waitUntilDone();
55         }
56
57         var internalFrame = document.getElementById ('internal');
58         shouldBe('internalFrame.contentWindow.location.port == ""', true);
59
60         internalFrame.contentWindow.location.port = 88;
61         setTimeout(checkTest1, 300);
62     };
63     </script>
64 </head>
65 <body onload="runTests();">
66 <p>This tests that modifying location.port works as it should</p>
67
68 <iframe id="internal" style="display: none;" src="resources/location-port-iframe.html" width="0" height="0">
69 </iframe>
70
71 <div id="console">
72 </div>
73 </body>
74 </html>