From d22fc1b68832619515acc55b7511509126c99c07 Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Thu, 6 Jul 2017 00:06:18 +0200 Subject: [PATCH] now supports tap.wrap --- dist/index.d.ts | 5 ++--- dist/index.js | 6 +++--- dist/tapbundle.classes.tap.d.ts | 10 +++++++++- dist/tapbundle.classes.tap.js | 16 +++++++++++++--- dist/tapbundle.classes.taptools.js | 2 +- dist/tapbundle.classes.tapwrap.d.ts | 14 ++++++++++++++ dist/tapbundle.classes.tapwrap.js | 29 +++++++++++++++++++++++++++++ npmextra.json | 5 +++++ test/test.tapwrap.ts | 10 ++++++++++ ts/tapbundle.classes.tap.ts | 27 +++++++++++++++++++-------- ts/tapbundle.classes.taptools.ts | 2 +- ts/tapbundle.classes.tapwrap.ts | 18 ++++++++++++++---- ts/tapbundle.tapcreator.ts | 2 +- 13 files changed, 121 insertions(+), 25 deletions(-) create mode 100644 dist/tapbundle.classes.tapwrap.d.ts create mode 100644 dist/tapbundle.classes.tapwrap.js create mode 100644 test/test.tapwrap.ts diff --git a/dist/index.d.ts b/dist/index.d.ts index fbcea5e..6e9cada 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -1,4 +1,3 @@ import 'typings-global'; -import { expect } from 'smartchai'; -import { tap } from './tapbundle.classes.tap'; -export { tap, expect }; +export { expect } from 'smartchai'; +export { tap } from './tapbundle.classes.tap'; diff --git a/dist/index.js b/dist/index.js index f6eb287..cbc5471 100644 --- a/dist/index.js +++ b/dist/index.js @@ -1,8 +1,8 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("typings-global"); -const smartchai_1 = require("smartchai"); +var smartchai_1 = require("smartchai"); exports.expect = smartchai_1.expect; -const tapbundle_classes_tap_1 = require("./tapbundle.classes.tap"); +var tapbundle_classes_tap_1 = require("./tapbundle.classes.tap"); exports.tap = tapbundle_classes_tap_1.tap; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBCQUF1QjtBQUN2Qix5Q0FBa0M7QUFLaEMsaUJBTE8sa0JBQU0sQ0FLUDtBQUpSLG1FQUE2QztBQUczQyxjQUhPLDJCQUFHLENBR1AifQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBCQUF1QjtBQUN2Qix1Q0FBa0M7QUFBekIsNkJBQUEsTUFBTSxDQUFBO0FBQ2YsaUVBQTZDO0FBQXBDLHNDQUFBLEdBQUcsQ0FBQSJ9 \ No newline at end of file diff --git a/dist/tapbundle.classes.tap.d.ts b/dist/tapbundle.classes.tap.d.ts index fb33c97..8ba9d60 100644 --- a/dist/tapbundle.classes.tap.d.ts +++ b/dist/tapbundle.classes.tap.d.ts @@ -1,7 +1,11 @@ import { TapTest, ITestFunction } from './tapbundle.classes.taptest'; +import { TapWrap, ITapWrapFunction } from './tapbundle.classes.tapwrap'; export declare class Tap { + /** + * skip a test + */ skip: { - test: (...args: any[]) => void; + test: (descriptionArg: string, functionArg: ITestFunction) => void; }; private _tests; /** @@ -10,6 +14,10 @@ export declare class Tap { * @param testFunction - A Function that returns a Promise and resolves or rejects */ test(testDescription: string, testFunction: ITestFunction): Promise; + /** + * wraps function + */ + wrap(functionArg: ITapWrapFunction): TapWrap; /** * A parallel test that will not be waited for before the next starts. * @param testDescription - A description of what the test does diff --git a/dist/tapbundle.classes.tap.js b/dist/tapbundle.classes.tap.js index 6ec7fa8..3fcb8f6 100644 --- a/dist/tapbundle.classes.tap.js +++ b/dist/tapbundle.classes.tap.js @@ -9,11 +9,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }; Object.defineProperty(exports, "__esModule", { value: true }); const tapbundle_classes_taptest_1 = require("./tapbundle.classes.taptest"); +const tapbundle_classes_tapwrap_1 = require("./tapbundle.classes.tapwrap"); class Tap { constructor() { + /** + * skip a test + */ this.skip = { - test: (...args) => { - console.log('skipped'); + test: (descriptionArg, functionArg) => { + console.log(`skipped test: ${descriptionArg}`); } }; this._tests = []; @@ -34,6 +38,12 @@ class Tap { return localTest; }); } + /** + * wraps function + */ + wrap(functionArg) { + return new tapbundle_classes_tapwrap_1.TapWrap(functionArg); + } /** * A parallel test that will not be waited for before the next starts. * @param testDescription - A description of what the test does @@ -87,4 +97,4 @@ class Tap { } exports.Tap = Tap; exports.tap = new Tap(); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwYnVuZGxlLmNsYXNzZXMudGFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvdGFwYnVuZGxlLmNsYXNzZXMudGFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFFQSwyRUFBb0U7QUFFcEU7SUFBQTtRQUNFLFNBQUksR0FBRztZQUNMLElBQUksRUFBRSxDQUFDLEdBQUcsSUFBSTtnQkFDWixPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQ3hCLENBQUM7U0FDRixDQUFBO1FBRU8sV0FBTSxHQUFjLEVBQUUsQ0FBQTtJQXNFaEMsQ0FBQztJQXBFQzs7OztPQUlHO0lBQ0csSUFBSSxDQUFDLGVBQXVCLEVBQUUsWUFBMkI7O1lBQzdELElBQUksU0FBUyxHQUFHLElBQUksbUNBQU8sQ0FBQztnQkFDMUIsV0FBVyxFQUFFLGVBQWU7Z0JBQzVCLFlBQVksRUFBRSxZQUFZO2dCQUMxQixRQUFRLEVBQUUsS0FBSzthQUNoQixDQUFDLENBQUE7WUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtZQUMzQixNQUFNLENBQUMsU0FBUyxDQUFBO1FBQ2xCLENBQUM7S0FBQTtJQUVEOzs7O09BSUc7SUFDSCxZQUFZLENBQUMsZUFBdUIsRUFBRSxZQUEyQjtRQUMvRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLG1DQUFPLENBQUM7WUFDM0IsV0FBVyxFQUFFLGVBQWU7WUFDNUIsWUFBWSxFQUFFLFlBQVk7WUFDMUIsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUMsQ0FBQTtJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsV0FBVyxDQUFDLGVBQXVCLEVBQUUsWUFBMkI7SUFFaEUsQ0FBQztJQUVEOztPQUVHO0lBQ0csS0FBSzs7WUFDVCxJQUFJLFlBQVksR0FBbUIsRUFBRSxDQUFBO1lBRXJDLHFDQUFxQztZQUNyQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxDQUFDLENBQUE7Z0JBQy9DLE1BQU0sQ0FBQTtZQUNSLENBQUM7WUFFRCxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO1lBQ3ZDLEdBQUcsQ0FBQyxDQUFDLElBQUksT0FBTyxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztnQkFDOUQsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBRSxPQUFPLENBQUUsQ0FBQTtnQkFDeEMsSUFBSSxXQUFXLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQTtnQkFDMUMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7b0JBQ3pCLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7Z0JBQ2hDLENBQUM7Z0JBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ04sTUFBTSxXQUFXLENBQUE7Z0JBQ25CLENBQUM7WUFDSCxDQUFDO1lBQ0QsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFBO1FBQ2pDLENBQUM7S0FBQTtJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLEdBQUc7UUFDUCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2xCLENBQUM7Q0FDRjtBQTdFRCxrQkE2RUM7QUFFVSxRQUFBLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFBIn0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwYnVuZGxlLmNsYXNzZXMudGFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvdGFwYnVuZGxlLmNsYXNzZXMudGFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFFQSwyRUFBb0U7QUFDcEUsMkVBQXVFO0FBQ3ZFO0lBQUE7UUFFRTs7V0FFRztRQUNILFNBQUksR0FBRztZQUNMLElBQUksRUFBRSxDQUFDLGNBQXNCLEVBQUUsV0FBMEI7Z0JBQ3ZELE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLGNBQWMsRUFBRSxDQUFDLENBQUE7WUFDaEQsQ0FBQztTQUNGLENBQUE7UUFFTyxXQUFNLEdBQWMsRUFBRSxDQUFBO0lBNkVoQyxDQUFDO0lBM0VDOzs7O09BSUc7SUFDRyxJQUFJLENBQUUsZUFBdUIsRUFBRSxZQUEyQjs7WUFDOUQsSUFBSSxTQUFTLEdBQUcsSUFBSSxtQ0FBTyxDQUFDO2dCQUMxQixXQUFXLEVBQUUsZUFBZTtnQkFDNUIsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLFFBQVEsRUFBRSxLQUFLO2FBQ2hCLENBQUMsQ0FBQTtZQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1lBQzNCLE1BQU0sQ0FBQyxTQUFTLENBQUE7UUFDbEIsQ0FBQztLQUFBO0lBRUQ7O09BRUc7SUFDSCxJQUFJLENBQUUsV0FBNkI7UUFDakMsTUFBTSxDQUFDLElBQUksbUNBQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUNqQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFlBQVksQ0FBRSxlQUF1QixFQUFFLFlBQTJCO1FBQ2hFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksbUNBQU8sQ0FBQztZQUMzQixXQUFXLEVBQUUsZUFBZTtZQUM1QixZQUFZLEVBQUUsWUFBWTtZQUMxQixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQyxDQUFBO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUUsZUFBdUIsRUFBRSxZQUEyQjtJQUVqRSxDQUFDO0lBRUQ7O09BRUc7SUFDRyxLQUFLOztZQUNULElBQUksWUFBWSxHQUFtQixFQUFFLENBQUE7WUFFckMscUNBQXFDO1lBQ3JDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtnQkFDL0MsTUFBTSxDQUFBO1lBQ1IsQ0FBQztZQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUE7WUFDdkMsR0FBRyxDQUFDLENBQUMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxFQUFFLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUM5RCxJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFFLE9BQU8sQ0FBRSxDQUFBO2dCQUN4QyxJQUFJLFdBQVcsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO2dCQUMxQyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztvQkFDekIsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtnQkFDaEMsQ0FBQztnQkFBQyxJQUFJLENBQUMsQ0FBQztvQkFDTixNQUFNLFdBQVcsQ0FBQTtnQkFDbkIsQ0FBQztZQUNILENBQUM7WUFDRCxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDakMsQ0FBQztLQUFBO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUUsR0FBRztRQUNSLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDbEIsQ0FBQztDQUNGO0FBeEZELGtCQXdGQztBQUVVLFFBQUEsR0FBRyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUEifQ== \ No newline at end of file diff --git a/dist/tapbundle.classes.taptools.js b/dist/tapbundle.classes.taptools.js index a65db93..3d4b0de 100644 --- a/dist/tapbundle.classes.taptools.js +++ b/dist/tapbundle.classes.taptools.js @@ -39,4 +39,4 @@ class TapTools { } } exports.TapTools = TapTools; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwYnVuZGxlLmNsYXNzZXMudGFwdG9vbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXBidW5kbGUuY2xhc3Nlcy50YXB0b29scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsK0NBQThDO0FBRzlDO0lBT0UsWUFBWSxVQUFVO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFBO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUE7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ0csUUFBUSxDQUFFLFlBQVk7O1lBQzFCLE1BQU0sT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDakQsQ0FBQztLQUFBO0lBRUssT0FBTyxDQUFFLFlBQW9COztZQUNqQyxJQUFJLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO1lBQzFELE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQTtZQUNyQixNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUE7WUFDckIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFBO1lBQ2xDLENBQUM7UUFDSCxDQUFDO0tBQUE7Q0FFRjtBQWxDRCw0QkFrQ0MifQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwYnVuZGxlLmNsYXNzZXMudGFwdG9vbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXBidW5kbGUuY2xhc3Nlcy50YXB0b29scy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsK0NBQThDO0FBRzlDO0lBT0UsWUFBYSxVQUFVO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFBO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUE7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ0csUUFBUSxDQUFFLFlBQVk7O1lBQzFCLE1BQU0sT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDakQsQ0FBQztLQUFBO0lBRUssT0FBTyxDQUFFLFlBQW9COztZQUNqQyxJQUFJLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO1lBQzFELE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQTtZQUNyQixNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUE7WUFDckIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFBO1lBQ2xDLENBQUM7UUFDSCxDQUFDO0tBQUE7Q0FFRjtBQWxDRCw0QkFrQ0MifQ== \ No newline at end of file diff --git a/dist/tapbundle.classes.tapwrap.d.ts b/dist/tapbundle.classes.tapwrap.d.ts new file mode 100644 index 0000000..37c3503 --- /dev/null +++ b/dist/tapbundle.classes.tapwrap.d.ts @@ -0,0 +1,14 @@ +export interface ITapWrapFunction { + (): Promise; +} +export declare class TapWrap { + wrapFunction: ITapWrapFunction; + /** + * the constructor + */ + constructor(wrapFunctionArg: ITapWrapFunction); + /** + * run the wrapFunction + */ + run(): Promise; +} diff --git a/dist/tapbundle.classes.tapwrap.js b/dist/tapbundle.classes.tapwrap.js new file mode 100644 index 0000000..c4248c8 --- /dev/null +++ b/dist/tapbundle.classes.tapwrap.js @@ -0,0 +1,29 @@ +"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 TapWrap { + /** + * the constructor + */ + constructor(wrapFunctionArg) { + // nothing here + this.wrapFunction = wrapFunctionArg; + } + /** + * run the wrapFunction + */ + run() { + return __awaiter(this, void 0, void 0, function* () { + yield this.wrapFunction(); + }); + } +} +exports.TapWrap = TapWrap; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwYnVuZGxlLmNsYXNzZXMudGFwd3JhcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3RhcGJ1bmRsZS5jbGFzc2VzLnRhcHdyYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQU1BO0lBR0U7O09BRUc7SUFDSCxZQUFhLGVBQWlDO1FBQzVDLGVBQWU7UUFDZixJQUFJLENBQUMsWUFBWSxHQUFHLGVBQWUsQ0FBQTtJQUNyQyxDQUFDO0lBRUQ7O09BRUc7SUFDRyxHQUFHOztZQUNQLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO1FBQzNCLENBQUM7S0FBQTtDQUNGO0FBakJELDBCQWlCQyJ9 \ No newline at end of file diff --git a/npmextra.json b/npmextra.json index c4494f5..c3efb91 100644 --- a/npmextra.json +++ b/npmextra.json @@ -3,5 +3,10 @@ "globalNpmTools": [ "npmts" ] + }, + "npmts": { + "testConfig": { + "parallel": false + } } } \ No newline at end of file diff --git a/test/test.tapwrap.ts b/test/test.tapwrap.ts new file mode 100644 index 0000000..f8e3190 --- /dev/null +++ b/test/test.tapwrap.ts @@ -0,0 +1,10 @@ +import { tap, expect } from '../dist/index' + +let tapwrap = tap.wrap(async () => { + tap.test('should do something', async () => { + console.log('test1') + }) + tap.start() +}) + +tapwrap.run() diff --git a/ts/tapbundle.classes.tap.ts b/ts/tapbundle.classes.tap.ts index f1c5ab8..ff888ca 100644 --- a/ts/tapbundle.classes.tap.ts +++ b/ts/tapbundle.classes.tap.ts @@ -1,11 +1,15 @@ import * as plugins from './tapbundle.plugins' import { TapTest, ITestFunction } from './tapbundle.classes.taptest' -import { TapWrap } from './tapbundle.classes.tapwrap' +import { TapWrap, ITapWrapFunction } from './tapbundle.classes.tapwrap' export class Tap { + + /** + * skip a test + */ skip = { - test: (...args) => { - console.log('skipped') + test: (descriptionArg: string, functionArg: ITestFunction) => { + console.log(`skipped test: ${descriptionArg}`) } } @@ -16,7 +20,7 @@ export class Tap { * @param testDescription - A description of what the test does * @param testFunction - A Function that returns a Promise and resolves or rejects */ - async test(testDescription: string, testFunction: ITestFunction) { + async test (testDescription: string, testFunction: ITestFunction) { let localTest = new TapTest({ description: testDescription, testFunction: testFunction, @@ -26,12 +30,19 @@ export class Tap { return localTest } + /** + * wraps function + */ + wrap (functionArg: ITapWrapFunction) { + return new TapWrap(functionArg) + } + /** * A parallel test that will not be waited for before the next starts. * @param testDescription - A description of what the test does * @param testFunction - A Function that returns a Promise and resolves or rejects */ - testParallel(testDescription: string, testFunction: ITestFunction) { + testParallel (testDescription: string, testFunction: ITestFunction) { this._tests.push(new TapTest({ description: testDescription, testFunction: testFunction, @@ -44,14 +55,14 @@ export class Tap { * @param testDescription - A description of what the test does * @param testFunction - A Function that returns a Promise and resolves or rejects */ - testLeakage(testDescription: string, testFunction: ITestFunction) { + testLeakage (testDescription: string, testFunction: ITestFunction) { } /** * starts the test evaluation */ - async start() { + async start () { let promiseArray: Promise[] = [] // safeguard against empty test array @@ -76,7 +87,7 @@ export class Tap { /** * handle errors */ - threw(err) { + threw (err) { console.log(err) } } diff --git a/ts/tapbundle.classes.taptools.ts b/ts/tapbundle.classes.taptools.ts index da71cc3..b975899 100644 --- a/ts/tapbundle.classes.taptools.ts +++ b/ts/tapbundle.classes.taptools.ts @@ -8,7 +8,7 @@ export class TapTools { */ private _tapTest: TapTest - constructor(TapTestArg) { + constructor (TapTestArg) { this._tapTest = TapTestArg } diff --git a/ts/tapbundle.classes.tapwrap.ts b/ts/tapbundle.classes.tapwrap.ts index 028b5f4..88d3508 100644 --- a/ts/tapbundle.classes.tapwrap.ts +++ b/ts/tapbundle.classes.tapwrap.ts @@ -5,10 +5,20 @@ export interface ITapWrapFunction { } export class TapWrap { - asyncFunction: ITapWrapFunction - constructor(functionArg: ITapWrapFunction) { + wrapFunction: ITapWrapFunction + + /** + * the constructor + */ + constructor (wrapFunctionArg: ITapWrapFunction) { // nothing here - - + this.wrapFunction = wrapFunctionArg + } + + /** + * run the wrapFunction + */ + async run () { + await this.wrapFunction() } } diff --git a/ts/tapbundle.tapcreator.ts b/ts/tapbundle.tapcreator.ts index 7d1c669..bde8472 100644 --- a/ts/tapbundle.tapcreator.ts +++ b/ts/tapbundle.tapcreator.ts @@ -1,7 +1,7 @@ import * as plugins from './tapbundle.plugins' export class TapCreator { - + // TODO: } export let tapCreator = new TapCreator() \ No newline at end of file