gecko/modules/plugin/test/mochitest/test_npruntime_npnsetexception.html

60 lines
1.5 KiB
HTML

<html>
<head>
<title>NPN_SetException Tests</title>
<script type="text/javascript"
src="/MochiKit/packed.js"></script>
<script type="text/javascript"
src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css"
href="/tests/SimpleTest/test.css" />
</head>
<body onload="runTests()">
<p id="display"></p>
<embed id="plugin1" type="application/x-test" width="400" height="100">
</embed>
<script class="testbody" type="application/javascript">
SimpleTest.waitForExplicitFinish();
function runTests() {
// test a single exception thrown in scriptable invoke
var plugin = document.getElementById("plugin1");
plugin.throwExceptionNextInvoke();
try {
plugin.npnInvokeTest("badFunction");
ok(false, "exception not thrown");
}
catch (e) {
is(e, "badFunction", "wrong exception thrown");
}
// test multiple exceptions thrown in scriptable invokedefault
plugin.throwExceptionNextInvoke();
try {
plugin("first exception", "second exception");
ok(false, "exception not thrown");
}
catch (e) {
is(e, "second exception", "wrong exception thrown");
}
// test calling exception with NULL message
plugin.throwExceptionNextInvoke();
try {
plugin();
ok(false, "exception not thrown");
}
catch (e) {
is(e.message, "Error calling method on NPObject!", "wrong exception thrown");
}
SimpleTest.finish();
}
</script>
<div id="verbose">
</div>
</body>
</html>