diff options
| author | Andres Ornelas | 2010-06-22 17:15:14 -0700 |
|---|---|---|
| committer | Andres Ornelas | 2010-06-22 17:15:14 -0700 |
| commit | 70c3dc81665191cd065a5303e5e26639a0023a73 (patch) | |
| tree | 72ba1be4006bc5191bd852284db026bcf2e702d9 /src/scenario/Runner.js | |
| parent | b129a1094e6b42ed82c3ccecc2f40daaa0a6cb6a (diff) | |
| download | angular.js-70c3dc81665191cd065a5303e5e26639a0023a73.tar.bz2 | |
expose e2e test results
Diffstat (limited to 'src/scenario/Runner.js')
| -rw-r--r-- | src/scenario/Runner.js | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/scenario/Runner.js b/src/scenario/Runner.js index 8e0cc909..13ba5af0 100644 --- a/src/scenario/Runner.js +++ b/src/scenario/Runner.js @@ -5,6 +5,7 @@ angular.scenario.Runner = function(scope, jQuery){ var self = scope.$scenario = this; this.scope = scope; this.jQuery = jQuery; + this.scope.$testrun = {done: false, results: []}; var specs = this.specs = {}; var path = []; @@ -40,7 +41,7 @@ angular.scenario.Runner = function(scope, jQuery){ self.currentSpec = null; }; this.logger = function returnNoop(){ - return extend(returnNoop, {close:noop, fail:noop});; + return extend(returnNoop, {close:noop, fail:noop}); }; }; @@ -99,6 +100,8 @@ angular.scenario.Runner.prototype = { var next = specNames.shift(); if(next) { self.execute(next, callback); + } else { + self.scope.$testrun.done = true; } }; callback(); @@ -111,6 +114,7 @@ angular.scenario.Runner.prototype = { execute: function(name, callback) { var spec = this.specs[name], self = this, + stepsDone = [], result = { passed: false, failed: false, @@ -143,15 +147,23 @@ angular.scenario.Runner.prototype = { if (step) { spec.nextStepIndex ++; result.log = stepLogger('step', step.name); + stepsDone.push(step.name); try { step.fn.call(specThis, next); } catch (e) { console.error(e); result.fail(e); + self.scope.$testrun.results.push( + {name: name, passed: false, error: e, steps: stepsDone}); done(); } } else { result.passed = !result.failed; + self.scope.$testrun.results.push({ + name: name, + passed: !result.failed, + error: result.error, + steps: stepsDone}); done(); } }; |
