- added a test for the names of range exceptions, which were wrong
[WebKit-https.git] / LayoutTests / fast / js / resources / js-test-pre.js
1 if (window.layoutTestController)
2     layoutTestController.dumpAsText();
3
4 function description(msg)
5 {
6     document.getElementById("description").innerHTML = '<p>' + msg + '</p><p>On success, you will see a series of "<span class="pass">PASS</span>" messages, followed by "<span class="pass">TEST COMPLETE</span>".</p>';
7 }
8
9 function debug(msg)
10 {
11     var span = document.createElement("span");
12     span.innerHTML = msg + '<br>';
13     document.getElementById("console").appendChild(span);
14 }
15
16 function escapeHTML(text)
17 {
18     return text.replace(/&/g, "&amp;").replace(/</g, "&lt;");
19 }
20
21 function testPassed(msg)
22 {
23     debug('<span class="pass">PASS</span> ' + escapeHTML(msg) + '</span>');
24 }
25
26 function testFailed(msg)
27 {
28     debug('<span class="fail">FAIL</span> ' + escapeHTML(msg) + '</span>');
29 }
30
31 function shouldBe(_a, _b)
32 {
33   if (typeof _a != "string" || typeof _b != "string")
34     debug("WARN: shouldBe() expects string arguments");
35   var exception;
36   var _av;
37   try {
38      _av = eval(_a);
39   } catch (e) {
40      exception = e;
41   }
42   var _bv = eval(_b);
43
44   if (exception)
45     testFailed(_a + " should be " + _bv + ". Threw exception " + exception);
46   else if (_av === _bv)
47     testPassed(_a + " is " + _b);
48   else
49     testFailed(_a + " should be " + _bv + ". Was " + _av);
50 }
51
52 function shouldBeTrue(_a) { shouldBe(_a, "true"); }
53
54 function shouldBeFalse(_a) { shouldBe(_a, "false"); }
55
56 function shouldBeNaN(_a)
57 {
58   var exception;
59   var _av;
60   try {
61      _av = eval(_a);
62   } catch (e) {
63      exception = e;
64   }
65
66   if (exception)
67     testFailed(_a + " should be NaN. Threw exception " + exception + ".");
68   else if (isNaN(_av))
69     testPassed(_a + " is NaN.");
70   else
71     testFailed(_a + " should be NaN. Was " + _av + ".");
72 }
73
74
75 function shouldBeUndefined(_a)
76 {
77   var exception;
78   var _av;
79   try {
80      _av = eval(_a);
81   } catch (e) {
82      exception = e;
83   }
84
85   if (exception)
86     testFailed(_a + " should be undefined. Threw exception " + exception);
87   else if (typeof _av == "undefined")
88     testPassed(_a + " is undefined.");
89   else
90     testFailed(_a + " should be undefined. Was " + _av);
91 }
92
93
94 function shouldThrow(_a, _e)
95 {
96   var exception;
97   var _av;
98   try {
99      _av = eval(_a);
100   } catch (e) {
101      exception = e;
102   }
103
104   var _ev;
105   if (_e)
106       _ev =  eval(_e);
107
108   if (exception) {
109     if (typeof _e == "undefined" || exception == _ev)
110       testPassed(_a + " threw exception " + exception + ".");
111     else
112       testFailed(_a + " should throw exception " + _ev + ". Threw exception " + exception + ".");
113   } else if (typeof _av == "undefined")
114     testFailed(_a + " should throw exception " + _e + ". Was undefined.");
115   else
116     testFailed(_a + " should throw exception " + _e + ". Was " + _av + ".");
117 }