aboutsummaryrefslogtreecommitdiffstats
path: root/src/scenario/Runner.js
diff options
context:
space:
mode:
authorAndres Ornelas2010-06-22 17:15:14 -0700
committerAndres Ornelas2010-06-22 17:15:14 -0700
commit70c3dc81665191cd065a5303e5e26639a0023a73 (patch)
tree72ba1be4006bc5191bd852284db026bcf2e702d9 /src/scenario/Runner.js
parentb129a1094e6b42ed82c3ccecc2f40daaa0a6cb6a (diff)
downloadangular.js-70c3dc81665191cd065a5303e5e26639a0023a73.tar.bz2
expose e2e test results
Diffstat (limited to 'src/scenario/Runner.js')
-rw-r--r--src/scenario/Runner.js14
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();
}
};