91 lines
5.4 KiB
JavaScript
91 lines
5.4 KiB
JavaScript
|
"use strict";
|
||
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||
|
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
||
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||
|
});
|
||
|
};
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
class TapTest {
|
||
|
/**
|
||
|
* constructor
|
||
|
*/
|
||
|
constructor(optionsArg) {
|
||
|
this.description = optionsArg.description;
|
||
|
this.testFunction = optionsArg.testFunction;
|
||
|
this.parallel = optionsArg.parallel;
|
||
|
this.status = 'pending';
|
||
|
}
|
||
|
/**
|
||
|
* run the test
|
||
|
*/
|
||
|
run(testKeyArg) {
|
||
|
return __awaiter(this, void 0, void 0, function* () {
|
||
|
try {
|
||
|
yield this.testFunction();
|
||
|
console.log(`ok ${testKeyArg + 1} - ${this.description}`);
|
||
|
}
|
||
|
catch (err) {
|
||
|
console.log(err);
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
exports.TapTest = TapTest;
|
||
|
class Tap {
|
||
|
constructor() {
|
||
|
this._tests = [];
|
||
|
}
|
||
|
test(testDescription, testFunction) {
|
||
|
return __awaiter(this, void 0, void 0, function* () {
|
||
|
this._tests.push(new TapTest({
|
||
|
description: testDescription,
|
||
|
testFunction: testFunction,
|
||
|
parallel: false
|
||
|
}));
|
||
|
});
|
||
|
}
|
||
|
testParallel(testDescription, testFunction) {
|
||
|
this._tests.push(new TapTest({
|
||
|
description: testDescription,
|
||
|
testFunction: testFunction,
|
||
|
parallel: true
|
||
|
}));
|
||
|
}
|
||
|
/**
|
||
|
* starts the test evaluation
|
||
|
*/
|
||
|
start() {
|
||
|
return __awaiter(this, void 0, void 0, function* () {
|
||
|
let promiseArray = [];
|
||
|
// safeguard against empty test array
|
||
|
if (this._tests.length === 0) {
|
||
|
console.log('no tests specified. Ending here!');
|
||
|
return;
|
||
|
}
|
||
|
console.log(`1..${this._tests.length}`);
|
||
|
for (let testKey = 0; testKey < this._tests.length; testKey++) {
|
||
|
let currentTest = this._tests[testKey];
|
||
|
let testPromise = currentTest.run(testKey);
|
||
|
if (currentTest.parallel) {
|
||
|
promiseArray.push(testPromise);
|
||
|
}
|
||
|
else {
|
||
|
yield testPromise;
|
||
|
}
|
||
|
}
|
||
|
yield Promise.all(promiseArray);
|
||
|
});
|
||
|
}
|
||
|
/**
|
||
|
* handle errors
|
||
|
*/
|
||
|
threw(err) {
|
||
|
console.log(err);
|
||
|
}
|
||
|
}
|
||
|
exports.Tap = Tap;
|
||
|
exports.tap = new Tap();
|
||
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwYnVuZGxlLnRhcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3RhcGJ1bmRsZS50YXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQVVBO0lBT0U7O09BRUc7SUFDSCxZQUFhLFVBSVo7UUFDQyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUE7UUFDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFBO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQTtRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQTtJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDRyxHQUFHLENBQUUsVUFBa0I7O1lBQzNCLElBQUksQ0FBQztnQkFDSCxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtnQkFDekIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUE7WUFDM0QsQ0FBQztZQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ2IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUNsQixDQUFDO1FBQ0gsQ0FBQztLQUFBO0NBQ0Y7QUFoQ0QsMEJBZ0NDO0FBRUQ7SUFBQTtRQUNVLFdBQU0sR0FBYyxFQUFFLENBQUE7SUFpRGhDLENBQUM7SUEvQ08sSUFBSSxDQUFFLGVBQXVCLEVBQUUsWUFBMkI7O1lBQzlELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTyxDQUFDO2dCQUMzQixXQUFXLEVBQUUsZUFBZTtnQkFDNUIsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLFFBQVEsRUFBRSxLQUFLO2FBQ2hCLENBQUMsQ0FBQyxDQUFBO1FBQ0wsQ0FBQztLQUFBO0lBRUQsWUFBWSxDQUFFLGVBQXVCLEVBQUUsWUFBMkI7UUFDaEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUM7WUFDM0IsV0FBVyxFQUFFLGVBQWU7WUFDNUIsWUFBWSxFQUFFLFlBQVk7WUFDMUIsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUMsQ0FBQTtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNHLEtBQUs7O1lBQ1QsSUFBSSxZQUFZLEdBQW1CLEVBQUUsQ0FBQTtZQUVyQyxxQ0FBcUM7WUFDckMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBO2dCQUMvQyxNQUFNLENBQUE7WUFDUixDQUFDO1lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQTtZQUN2QyxHQUFHLENBQUMsQ0FBQyxJQUFJLE9BQU8sR0FBRyxDQUFDLEVBQUUsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUM7Z0JBQzlELElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7Z0JBQ3RDLElBQUksV0FBVyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUE7Z0JBQzFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO29CQUN6QixZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO2dCQUNoQyxDQUFDO2dCQUFDLElBQUksQ0FBQyxDQUFDO29CQUNOLE1BQU0sV0FBVyxDQUFBO2dCQUNuQixDQUFDO1lBQ0gsQ0FBQztZQUNELE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUNqQyxDQUFDO0tBQUE7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBRSxHQUFHO1FBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNsQixDQUFDO0NBQ0Y7QUFsREQsa0JBa0RDO0FBRVUsUUFBQSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQSJ9
|