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