Browse Source

minor code style tweaks

babel-plugin-for-integration-tests
Sindre Sorhus 9 years ago
parent
commit
fbfe267f3b
  1. 69
      lib/runner.js

69
lib/runner.js

@ -12,14 +12,18 @@ function Runner(opts) {
EventEmitter.call(this);
this.results = [];
this.stats = {};
this.stats.failCount = 0;
this.stats.testCount = 0;
this.tests = {};
this.tests.concurrent = [];
this.tests.serial = [];
this.tests.before = [];
this.tests.after = [];
this.stats = {
failCount: 0,
testCount: 0
};
this.tests = {
concurrent: [],
serial: [],
before: [],
after: []
};
}
util.inherits(Runner, EventEmitter);
@ -44,29 +48,33 @@ Runner.prototype.addAfterHook = function (title, cb) {
};
Runner.prototype.concurrent = function (tests) {
// run all tests
tests = tests.map(function (test) {
// in case of error, don't reject a promise
return test.run().catch(function () {
return;
}).then(function () {
this._addTestResult(test);
}.bind(this));
}, this);
var self = this;
return Promise.all(tests);
// run all tests
return Promise.all(tests.map(function (test) {
return test.run()
.catch(function () {
// in case of error, don't reject a promise
return;
})
.then(function () {
self._addTestResult(test);
});
}));
};
Runner.prototype.serial = function (tests) {
var self = this;
return Promise.resolve(tests).each(function (test) {
return test.run()
.catch(function () {
return;
})
.then(function () {
this._addTestResult(test);
}.bind(this));
}.bind(this));
self._addTestResult(test);
});
});
};
Runner.prototype._addTestResult = function (test) {
@ -84,32 +92,29 @@ Runner.prototype._addTestResult = function (test) {
};
Runner.prototype.run = function () {
var concurrent = this.tests.concurrent;
var serial = this.tests.serial;
var before = this.tests.before;
var after = this.tests.after;
var self = this;
var tests = this.tests;
var stats = this.stats;
return this.serial(before)
return this.serial(tests.before)
.then(function () {
if (self.stats.failCount > 0) {
if (stats.failCount > 0) {
return Promise.reject();
}
})
.then(function () {
return self.serial(serial);
return self.serial(tests.serial);
})
.then(function () {
return self.concurrent(concurrent);
return self.concurrent(tests.concurrent);
})
.then(function () {
return self.serial(after);
return self.serial(tests.after);
})
.catch(function () {
return;
})
.then(function () {
self.stats.passCount = self.stats.testCount - self.stats.failCount;
stats.passCount = stats.testCount - stats.failCount;
});
};

Loading…
Cancel
Save