diff --git a/packages/test-in-browser/driver.css b/packages/test-in-browser/driver.css index 1530170097..0251f37d4f 100644 --- a/packages/test-in-browser/driver.css +++ b/packages/test-in-browser/driver.css @@ -151,4 +151,8 @@ body { #current-client-test { color: #ccc; margin-right: 15px; -} \ No newline at end of file +} + +.failedTests { + color: #900; /* red */ +} diff --git a/packages/test-in-browser/driver.html b/packages/test-in-browser/driver.html index 5e4b272e0c..fbd3ec10e1 100644 --- a/packages/test-in-browser/driver.html +++ b/packages/test-in-browser/driver.html @@ -1,6 +1,7 @@ {{> navBars}} + {{> uncaughtErrors}} {{> failedTests}} {{> testTable}} @@ -71,14 +72,38 @@ + + {{#if uncaughtErrors}} + + + + + WARNING: The following uncaught errors might be + preventing some client tests from running. + + + {{#each uncaughtErrors}} + {{this}} + {{/each}} + + + + + {{/if}} + + - - - {{#each failedTests}} - {{this}} - {{/each}} - - + {{#if failedTests}} + + + + {{#each failedTests}} + {{this}} + {{/each}} + + + + {{/if}} diff --git a/packages/test-in-browser/driver.js b/packages/test-in-browser/driver.js index 2602f56923..7600362060 100644 --- a/packages/test-in-browser/driver.js +++ b/packages/test-in-browser/driver.js @@ -35,6 +35,12 @@ var topLevelGroupsDep = new Tracker.Dependency; // - dep: Tracker.Dependency object for this test. fires when the test completes. var resultTree = []; +Session.set("uncaughtErrors", []); +window.onerror = (message, source, line) => { + const uncaughtErrors = new Set(Session.get("uncaughtErrors")); + uncaughtErrors.add(message); + Session.set("uncaughtErrors", Array.from(uncaughtErrors)); +}; Session.setDefault("groupPath", ["tinytest"]); Session.set("rerunScheduled", false); @@ -359,6 +365,13 @@ Template.groupNav.onRendered(function () { }; }); +//// Template - uncaughtErrors + +Template.uncaughtErrors.helpers({ + uncaughtErrors() { + return Session.get("uncaughtErrors"); + } +}); //// Template - failedTests diff --git a/packages/test-in-browser/package.js b/packages/test-in-browser/package.js index 36cba98c44..6c5e80b7c8 100644 --- a/packages/test-in-browser/package.js +++ b/packages/test-in-browser/package.js @@ -1,10 +1,11 @@ Package.describe({ summary: "Run tests interactively in the browser", - version: '1.0.13', + version: '1.0.14', documentation: null }); Package.onUse(function (api) { + api.use('ecmascript'); // XXX this should go away, and there should be a clean interface // that tinytest and the driver both implement? api.use('tinytest');
+ WARNING: The following uncaught errors might be + preventing some client tests from running. +