gecko/dom/tests/mochitest/bugs/test_bug159849.html
Boris Zbarsky 8bdd1a64af Bug 659350 part 5. The guts of the change to move from storing inline event handlers on the JSObject to storing them in the event listener manager directly, so we can easily set/read them via IDL.
The changes here are as follows:
1) nsIJSEventListener now stores the handler.  This is guaranteed to be already bound properly, if needed, before being set in the nsIJSEventListener.
2) The old classinfo glue to deal with on* properties is gone.
3) IDL-based methods for on* properties have been added.
2011-08-24 15:49:25 -04:00

42 lines
1.1 KiB
HTML

<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=159849
-->
<head>
<title>Test for Bug 159849</title>
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=159849">Mozilla Bug 159849</a>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<pre id="test">
<script class="testbody" type="text/javascript">
/** Test for Bug 159849 **/
function testFunc() {
}
var c = $("content");
with (c) {
onmouseover = testFunc;
fooExpando = testFunc;
}
is(c.onmouseover, testFunc, "Event handler should have been set on node");
ok(c.fooExpando === undefined, "Expando should not have been set on node",
"got " + repr(c.fooExpando) + ", expected undefined");
ok(window.onmouseover === null,
"Event handler should not have been set on window",
"got " + repr(window.onmouseover) + ", expected undefined");
is(window.fooExpando, testFunc, "Expando should have been set on window");
</script>
</pre>
</body>
</html>