034d4c6cbc4c18f0863a2bd16ecfebfd0f74756b
[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 testPassed(msg)
17 {
18     debug('<span class="pass">PASS</span> ' + msg + '</span>');
19 }
20
21 function testFailed(msg)
22 {
23     debug('<span class="fail">FAIL</span> ' + msg + '</span>');
24 }
25
26 function shouldBe(_a, _b)
27 {
28   if (typeof _a != "string" || typeof _b != "string")
29     debug("WARN: shouldBe() expects string arguments");
30   var exception;
31   var _av;
32   try {
33      _av = eval(_a);
34   } catch (e) {
35      exception = e;
36   }
37   var _bv = eval(_b);
38
39   if (exception)
40     testFailed(_a + " should be " + _bv + ". Threw exception " + exception);
41   else if (_av === _bv)
42     testPassed(_a + " is " + _b);
43   else
44     testFailed(_a + " should be " + _bv + ". Was " + _av);
45 }
46
47 function shouldBeTrue(_a) { shouldBe(_a, "true"); }
48
49 function shouldBeFalse(_a) { shouldBe(_a, "false"); }
50
51 function shouldBeNaN(_a)
52 {
53   var exception;
54   var _av;
55   try {
56      _av = eval(_a);
57   } catch (e) {
58      exception = e;
59   }
60
61   if (exception)
62     testFailed(_a + " should be NaN. Threw exception " + exception + ".");
63   else if (isNaN(_av))
64     testPassed(_a + " is NaN.");
65   else
66     testFailed(_a + " should be NaN. Was " + _av + ".");
67 }
68
69
70 function shouldBeUndefined(_a)
71 {
72   var exception;
73   var _av;
74   try {
75      _av = eval(_a);
76   } catch (e) {
77      exception = e;
78   }
79
80   if (exception)
81     testFailed(_a + " should be undefined. Threw exception " + exception);
82   else if (typeof _av == "undefined")
83     testPassed(_a + " is undefined.");
84   else
85     testFailed(_a + " should be undefined. Was " + _av);
86 }
87
88
89 function shouldThrow(_a, _e)
90 {
91   var exception;
92   var _av;
93   try {
94      _av = eval(_a);
95   } catch (e) {
96      exception = e;
97   }
98
99   var _ev;
100   if (_e)
101       _ev =  eval(_e);
102
103   if (exception) {
104     if (typeof _e == "undefined" || exception == _ev)
105       testPassed(_a + " threw exception " + exception + ".");
106     else
107       testFailed(_a + " should throw exception " + _e + ". Threw exception " + exception + ".");
108   } else if (typeof _av == "undefined")
109     testFailed(_a + " should throw exception " + _e + ". Was undefined.");
110   else
111     testFailed(_a + " should throw exception " + _e + ". Was " + _av + ".");
112 }