xulapp/chrome/content/lib/xultestrunner.js in gabrielg-xultestrunner-0.2.2 vs xulapp/chrome/content/lib/xultestrunner.js in gabrielg-xultestrunner-0.2.3
- old
+ new
@@ -27,12 +27,17 @@
puts(testsToRun.join(" ") + "\n");
this._runNextTest();
},
observe: function(subject, topic, data) {
- // Need to pass between observers as JSON to avoid crashes. Wee.
- this._testResults.push(data.evalJSON());
+ // Need to pass between observers as JSON to avoid XPCOM crashes. Wee.
+ var data = data.evalJSON();
+ if (topic == "xultestrunner-testdone") {
+ this._testResults.push(data);
+ } else if (topic == "xultestrunner-testloaderror") {
+ puts("There was an error loading test '#{file}': #{exception}".interpolate(data));
+ }
this._runNextTest();
},
_runNextTest: function() {
var testFile = this.options.tests.shift();
@@ -82,9 +87,10 @@
},
_registerObservers: function() {
var observerService = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
observerService.addObserver(this, "xultestrunner-testdone", false);
+ observerService.addObserver(this, "xultestrunner-testloaderror", false);
}
});
Object.extend(XULTestRunner, {
testFileMatcher: /_test\.js$/,
\ No newline at end of file