1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <?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=895340
- -->
- <window title="Mozilla Bug 895340"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
- <script type="application/javascript"
- src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <!-- test results are displayed in the html:body -->
- <body xmlns="http://www.w3.org/1999/xhtml">
- <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=895340 "
- target="_blank">Mozilla Bug 895340 </a>
- </body>
- <!-- test code goes here -->
- <script type="application/javascript"><![CDATA[
- SimpleTest.waitForExplicitFinish();
- SimpleTest.expectUncaughtException();
- const Cu = Components.utils;
- Cu.import("resource://gre/modules/Services.jsm", this);
- var finished = false;
- var console = Components.classes["@mozilla.org/consoleservice;1"]
- .getService(Components.interfaces.nsIConsoleService);
- let listener = {
- QueryInterface: function(iid) {
- if (!iid.equals(Components.interfaces.nsIConsoleListener) &&
- !iid.equals(Components.interfaces.nsISupports))
- {
- throw Components.results.NS_ERROR_NO_INTERFACE;
- }
- return this;
- }
- };
- listener.observe = function(aMessage) {
- if (aMessage.message.indexOf("Will you report me?") != -1 && !finished) {
- finished = true;
- ok(true, "exception reported");
- console.unregisterListener(listener);
- SimpleTest.finish();
- }
- };
- console.registerListener(listener);
- /* Throw an exception and verify that it gets reported. */
- let foo_obs = function() {
- throw new Error("Will you report me?");
- };
- Services.obs.addObserver(foo_obs, "foo", false);
- Services.obs.notifyObservers(null, "foo", "foo");
- Services.obs.removeObserver(foo_obs, "foo");
- ]]></script>
- </window>
|