| <html> |
| <head> |
| <script> |
| function ok(b,m) { |
| return external.ok(b, m); |
| } |
| |
| function ondataavailable_test() { |
| var evobj, div, b = false; |
| |
| div = document.getElementById("divid"); |
| |
| function ondataavailableHandler() { |
| b = true; |
| ok(window.event === evobj, "window.event != evobj"); |
| |
| ok(evobj.srcElement === div, "evobj.srcElement = " + evobj.srcElement); |
| ok(evobj.fromElement === null, "evobj.srcElement = " + evobj.fromElement); |
| ok(evobj.toElement === null, "evobj.srcElement = " + evobj.toElement); |
| ok(evobj.type === "dataavailable", "evobj.type = " + evobj.type); |
| } |
| |
| function ondataavailableDocHandler() { |
| b = true; |
| ok(window.event === evobj, "window.event != evobj"); |
| |
| ok(evobj.srcElement === null, "evobj.srcElement = " + evobj.srcElement); |
| ok(evobj.fromElement === null, "evobj.srcElement = " + evobj.fromElement); |
| ok(evobj.toElement === null, "evobj.srcElement = " + evobj.toElement); |
| ok(evobj.type === "dataavailable", "evobj.type = " + evobj.type); |
| } |
| |
| div.attachEvent("ondataavailable", ondataavailableHandler); |
| |
| evobj = document.createEventObject(); |
| ok(evobj.srcElement === null, "evobj.srcElement = " + evobj.srcElement); |
| ok(evobj.fromElement === null, "evobj.srcElement = " + evobj.fromElement); |
| ok(evobj.toElement === null, "evobj.srcElement = " + evobj.toElement); |
| ok(evobj.type === "", "evobj.type = " + evobj.type); |
| |
| div.fireEvent("ondataavailable", evobj); |
| ok(b, "ondataavailable handler not called?"); |
| |
| ok(evobj.srcElement === div, "evobj.srcElement = " + evobj.srcElement); |
| ok(evobj.type === "dataavailable", "evobj.type = " + evobj.type); |
| |
| div.detachEvent("ondataavailable", ondataavailableHandler); |
| |
| b = false; |
| div.fireEvent("ondataavailable", evobj); |
| ok(!b, "ondataavailable handler called?"); |
| |
| ok(evobj.srcElement === div, "evobj.srcElement = " + evobj.srcElement); |
| ok(evobj.type === "dataavailable", "evobj.type = " + evobj.type); |
| |
| document.attachEvent("ondataavailable", ondataavailableDocHandler); |
| |
| evobj = document.createEventObject(); |
| |
| document.fireEvent("ondataavailable", evobj); |
| ok(b, "ondataavailable handler not called?"); |
| |
| ok(evobj.srcElement === null, "evobj.srcElement = " + evobj.srcElement); |
| ok(evobj.type === "dataavailable", "evobj.type = " + evobj.type); |
| } |
| |
| function runTests() { |
| try { |
| ondataavailable_test(); |
| }catch(e) { |
| ok(false, "Got an exception: " + e.message); |
| } |
| |
| external.reportSuccess(); |
| } |
| </script> |
| </head> |
| <body onload="runTests()"> |
| <div id="divid"></div> |
| </body> |
| </html> |