| <script> | 
 | if (window.testRunner) { | 
 |     testRunner.dumpAsText(); | 
 |     testRunner.dumpStatusCallbacks(); | 
 | } | 
 |  | 
 | function log(s) | 
 | { | 
 |     document.getElementById("console").innerHTML += "<li>" + s + "</li>"; | 
 | } | 
 |  | 
 | function shouldBe(a, b) | 
 | { | 
 |     var evalA, evalB; | 
 |     try { | 
 |         evalA = eval(a); | 
 |         evalB = eval(b); | 
 |     } catch(e) { | 
 |         evalA = e; | 
 |     } | 
 |  | 
 |     var message = (evalA === evalB) | 
 |                     ? "PASS: " + a + " should be '" + evalB + "' and is." | 
 |                     : "*** FAIL: " + a + " should be '" + evalB + "' but instead is " + evalA + ". ***"; | 
 |     log(message); | 
 | } | 
 |  | 
 | function test() | 
 | { | 
 |     shouldBe("window.status = 'set window.status'; window.status", "'set window.status'"); | 
 |     shouldBe("status = 'set status'", "'set status'"); | 
 |     shouldBe("window.status = 1; window.status", "'1'"); | 
 |     shouldBe("status = 2; status", "'2'"); | 
 |     shouldBe("window.status={toString:function(){ return 'object.toString'; }}; window.status", "'object.toString'"); | 
 | } | 
 | </script> | 
 | This tests that we can assign strings to the status property. | 
 | <ul id="console"></ul> | 
 | <script> | 
 | test(); | 
 | </script> |