123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- <?xml version="1.0"?>
- <?xml-stylesheet href="chrome://global/skin" type="text/css"?>
- <?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
- type="text/css"?>
- <!--
- https://bugzilla.mozilla.org/show_bug.cgi?id=415498
- -->
- <window title="Mozilla Bug 415498"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
- onload="init()">
- <script type="application/javascript"
- src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <script type="application/javascript"
- src="chrome://mochikit/content/chrome-harness.js"></script>
- <body xmlns="http://www.w3.org/1999/xhtml">
- <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=415498">Mozilla Bug 415498</a>
- <p id="display"></p>
- <pre id="test">
- <script class="testbody" type="application/javascript"><![CDATA[
- /** Test for Bug 415498 **/
- if (Cc === undefined) {
- var Cc = Components.classes;
- var Ci = Components.interfaces;
- }
- var Cr = Components.results;
- SimpleTest.waitForExplicitFinish();
- var gTestsIterator;
- var gConsole;
- var gConsoleListener;
- var gMessages = [];
- function init() {
- gTestsIterator = testsIterator();
- gConsole = Cc["@mozilla.org/consoleservice;1"].
- getService(Ci.nsIConsoleService);
- gConsoleListener = {
- observe: function(aObject) {
- gMessages.push(aObject);
- }
- };
- gConsole.registerListener(gConsoleListener);
- nextTest();
- }
- function nextTest() {
- try {
- gTestsIterator.next();
- } catch (err) {
- ok(err instanceof StopIteration,
- "Some other exception was thrown than what we expected!");
- if (gConsole && gConsoleListener) {
- gConsole.unregisterListener(gConsoleListener);
- }
- SimpleTest.finish();
- }
- }
- function testsIterator() {
- var browser = $("browser");
- browser.addEventListener("load", function() {
- setTimeout(nextTest, 0)
- }, false);
- // 1) This document uses addEventListener to register a method throwing an exception
- var chromeDir = getRootDirectory(window.location.href);
- browser.loadURI(chromeDir + "bug415498-doc1.html");
- yield undefined;
- ok(verifyErrorReceived("HierarchyRequestError"),
- "Error message not reported in event listener callback!");
- gMessages = [];
- // 2) This document sets window.onload to register a method throwing an exception
- var chromeDir = getRootDirectory(window.location.href);
- browser.loadURI(chromeDir + "bug415498-doc2.html");
- yield undefined;
- ok(verifyErrorReceived("HierarchyRequestError"),
- "Error message not reported in window.onload!");
- }
-
- function verifyErrorReceived(errorString) {
- for (var i = 0; i < gMessages.length; i++) {
- if (gMessages[i].message.indexOf(errorString) != -1)
- return true;
- }
- return false;
- }
- ]]></script>
- </pre>
- </body>
- <browser id="browser" type="content" flex="1" src="about:blank"/>
- </window>
|