@git.zone/tstest 3.1.1 → 3.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts_tapbundle/webhelpers.js +12 -2
- package/npmextra.json +11 -5
- package/package.json +13 -12
- package/readme.md +19 -0
- package/ts/00_commitinfo_data.ts +1 -1
- package/dist_ts/tstest.classes.tap.parser.old.d.ts +0 -50
- package/dist_ts/tstest.classes.tap.parser.old.js +0 -332
- package/dist_ts_tapbundle/tapbundle.protocols.d.ts +0 -88
- package/dist_ts_tapbundle/tapbundle.protocols.js +0 -168
- package/dist_ts_tapbundle/ts_tapbundle/00_commitinfo_data.d.ts +0 -8
- package/dist_ts_tapbundle/ts_tapbundle/00_commitinfo_data.js +0 -9
- package/dist_ts_tapbundle/ts_tapbundle/index.d.ts +0 -6
- package/dist_ts_tapbundle/ts_tapbundle/index.js +0 -7
- package/dist_ts_tapbundle/ts_tapbundle/tapbundle.classes.pretask.d.ts +0 -10
- package/dist_ts_tapbundle/ts_tapbundle/tapbundle.classes.pretask.js +0 -13
- package/dist_ts_tapbundle/ts_tapbundle/tapbundle.classes.tap.d.ts +0 -104
- package/dist_ts_tapbundle/ts_tapbundle/tapbundle.classes.tap.js +0 -401
- package/dist_ts_tapbundle/ts_tapbundle/tapbundle.classes.taptest.d.ts +0 -38
- package/dist_ts_tapbundle/ts_tapbundle/tapbundle.classes.taptest.js +0 -110
- package/dist_ts_tapbundle/ts_tapbundle/tapbundle.classes.taptools.d.ts +0 -109
- package/dist_ts_tapbundle/ts_tapbundle/tapbundle.classes.taptools.js +0 -241
- package/dist_ts_tapbundle/ts_tapbundle/tapbundle.classes.tapwrap.d.ts +0 -8
- package/dist_ts_tapbundle/ts_tapbundle/tapbundle.classes.tapwrap.js +0 -7
- package/dist_ts_tapbundle/ts_tapbundle/tapbundle.plugins.d.ts +0 -8
- package/dist_ts_tapbundle/ts_tapbundle/tapbundle.plugins.js +0 -10
- package/dist_ts_tapbundle/ts_tapbundle/tapbundle.tapcreator.d.ts +0 -3
- package/dist_ts_tapbundle/ts_tapbundle/tapbundle.tapcreator.js +0 -5
- package/dist_ts_tapbundle/ts_tapbundle/webhelpers.d.ts +0 -7
- package/dist_ts_tapbundle/ts_tapbundle/webhelpers.js +0 -35
- package/dist_ts_tapbundle/ts_tapbundle_node/classes.pathinject.d.ts +0 -5
- package/dist_ts_tapbundle/ts_tapbundle_node/classes.pathinject.js +0 -13
- package/dist_ts_tapbundle/ts_tapbundle_node/plugins.d.ts +0 -11
- package/dist_ts_tapbundle/ts_tapbundle_node/plugins.js +0 -14
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Internal protocol constants and utilities for improved TAP communication
|
|
3
|
-
* between tapbundle and tstest
|
|
4
|
-
*/
|
|
5
|
-
export const PROTOCOL = {
|
|
6
|
-
VERSION: '2.0',
|
|
7
|
-
MARKERS: {
|
|
8
|
-
START: '⟦TSTEST:',
|
|
9
|
-
END: '⟧',
|
|
10
|
-
BLOCK_END: '⟦/TSTEST:',
|
|
11
|
-
},
|
|
12
|
-
TYPES: {
|
|
13
|
-
META: 'META',
|
|
14
|
-
ERROR: 'ERROR',
|
|
15
|
-
SKIP: 'SKIP',
|
|
16
|
-
TODO: 'TODO',
|
|
17
|
-
SNAPSHOT: 'SNAPSHOT',
|
|
18
|
-
PROTOCOL: 'PROTOCOL',
|
|
19
|
-
}
|
|
20
|
-
};
|
|
21
|
-
export class ProtocolEncoder {
|
|
22
|
-
/**
|
|
23
|
-
* Encode metadata for inline inclusion
|
|
24
|
-
*/
|
|
25
|
-
static encodeInline(type, data) {
|
|
26
|
-
if (typeof data === 'string') {
|
|
27
|
-
return `${PROTOCOL.MARKERS.START}${type}:${data}${PROTOCOL.MARKERS.END}`;
|
|
28
|
-
}
|
|
29
|
-
return `${PROTOCOL.MARKERS.START}${type}:${JSON.stringify(data)}${PROTOCOL.MARKERS.END}`;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Encode block data for multi-line content
|
|
33
|
-
*/
|
|
34
|
-
static encodeBlock(type, data) {
|
|
35
|
-
const lines = [];
|
|
36
|
-
lines.push(`${PROTOCOL.MARKERS.START}${type}${PROTOCOL.MARKERS.END}`);
|
|
37
|
-
if (typeof data === 'string') {
|
|
38
|
-
lines.push(data);
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
lines.push(JSON.stringify(data, null, 2));
|
|
42
|
-
}
|
|
43
|
-
lines.push(`${PROTOCOL.MARKERS.BLOCK_END}${type}${PROTOCOL.MARKERS.END}`);
|
|
44
|
-
return lines;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Create a TAP line with metadata
|
|
48
|
-
*/
|
|
49
|
-
static createTestLine(status, number, description, metadata) {
|
|
50
|
-
let line = `${status} ${number} - ${description}`;
|
|
51
|
-
if (metadata) {
|
|
52
|
-
// For skip/todo, use inline format for compatibility
|
|
53
|
-
if (metadata.skip) {
|
|
54
|
-
line += ` ${this.encodeInline(PROTOCOL.TYPES.SKIP, metadata.skip)}`;
|
|
55
|
-
}
|
|
56
|
-
else if (metadata.todo) {
|
|
57
|
-
line += ` ${this.encodeInline(PROTOCOL.TYPES.TODO, metadata.todo)}`;
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
// For other metadata, append inline
|
|
61
|
-
const metaCopy = { ...metadata };
|
|
62
|
-
delete metaCopy.error; // Error details go in separate block
|
|
63
|
-
if (Object.keys(metaCopy).length > 0) {
|
|
64
|
-
line += ` ${this.encodeInline(PROTOCOL.TYPES.META, metaCopy)}`;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return line;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
export class ProtocolDecoder {
|
|
72
|
-
/**
|
|
73
|
-
* Extract all protocol markers from a line
|
|
74
|
-
*/
|
|
75
|
-
static extractMarkers(line) {
|
|
76
|
-
const markers = [];
|
|
77
|
-
let searchFrom = 0;
|
|
78
|
-
while (true) {
|
|
79
|
-
const start = line.indexOf(PROTOCOL.MARKERS.START, searchFrom);
|
|
80
|
-
if (start === -1)
|
|
81
|
-
break;
|
|
82
|
-
const end = line.indexOf(PROTOCOL.MARKERS.END, start);
|
|
83
|
-
if (end === -1)
|
|
84
|
-
break;
|
|
85
|
-
const content = line.substring(start + PROTOCOL.MARKERS.START.length, end);
|
|
86
|
-
const colonIndex = content.indexOf(':');
|
|
87
|
-
if (colonIndex !== -1) {
|
|
88
|
-
const type = content.substring(0, colonIndex);
|
|
89
|
-
const dataStr = content.substring(colonIndex + 1);
|
|
90
|
-
let data;
|
|
91
|
-
try {
|
|
92
|
-
// Try to parse as JSON first
|
|
93
|
-
data = JSON.parse(dataStr);
|
|
94
|
-
}
|
|
95
|
-
catch {
|
|
96
|
-
// If not JSON, treat as string
|
|
97
|
-
data = dataStr;
|
|
98
|
-
}
|
|
99
|
-
markers.push({
|
|
100
|
-
type,
|
|
101
|
-
data,
|
|
102
|
-
start,
|
|
103
|
-
end: end + PROTOCOL.MARKERS.END.length
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
searchFrom = end + 1;
|
|
107
|
-
}
|
|
108
|
-
return markers;
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Remove protocol markers from a line
|
|
112
|
-
*/
|
|
113
|
-
static cleanLine(line) {
|
|
114
|
-
const markers = this.extractMarkers(line);
|
|
115
|
-
// Remove markers from end to start to preserve indices
|
|
116
|
-
let cleanedLine = line;
|
|
117
|
-
for (let i = markers.length - 1; i >= 0; i--) {
|
|
118
|
-
const marker = markers[i];
|
|
119
|
-
cleanedLine = cleanedLine.substring(0, marker.start) +
|
|
120
|
-
cleanedLine.substring(marker.end);
|
|
121
|
-
}
|
|
122
|
-
return cleanedLine.trim();
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Parse a test line and extract metadata
|
|
126
|
-
*/
|
|
127
|
-
static parseTestLine(line) {
|
|
128
|
-
const markers = this.extractMarkers(line);
|
|
129
|
-
const metadata = {};
|
|
130
|
-
for (const marker of markers) {
|
|
131
|
-
switch (marker.type) {
|
|
132
|
-
case PROTOCOL.TYPES.META:
|
|
133
|
-
Object.assign(metadata, marker.data);
|
|
134
|
-
break;
|
|
135
|
-
case PROTOCOL.TYPES.SKIP:
|
|
136
|
-
metadata.skip = marker.data;
|
|
137
|
-
break;
|
|
138
|
-
case PROTOCOL.TYPES.TODO:
|
|
139
|
-
metadata.todo = marker.data;
|
|
140
|
-
break;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
return {
|
|
144
|
-
cleaned: this.cleanLine(line),
|
|
145
|
-
metadata
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Check if a line starts a protocol block
|
|
150
|
-
*/
|
|
151
|
-
static isBlockStart(line) {
|
|
152
|
-
const trimmed = line.trim();
|
|
153
|
-
if (trimmed.startsWith(PROTOCOL.MARKERS.START) && trimmed.endsWith(PROTOCOL.MARKERS.END)) {
|
|
154
|
-
const content = trimmed.slice(PROTOCOL.MARKERS.START.length, -PROTOCOL.MARKERS.END.length);
|
|
155
|
-
if (!content.includes(':')) {
|
|
156
|
-
return { isBlock: true, type: content };
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
return { isBlock: false };
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Check if a line ends a protocol block
|
|
163
|
-
*/
|
|
164
|
-
static isBlockEnd(line, type) {
|
|
165
|
-
return line.trim() === `${PROTOCOL.MARKERS.BLOCK_END}${type}${PROTOCOL.MARKERS.END}`;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwYnVuZGxlLnByb3RvY29scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzX3RhcGJ1bmRsZS90YXBidW5kbGUucHJvdG9jb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUN0QixPQUFPLEVBQUUsS0FBSztJQUNkLE9BQU8sRUFBRTtRQUNQLEtBQUssRUFBRSxVQUFVO1FBQ2pCLEdBQUcsRUFBRSxHQUFHO1FBQ1IsU0FBUyxFQUFFLFdBQVc7S0FDdkI7SUFDRCxLQUFLLEVBQUU7UUFDTCxJQUFJLEVBQUUsTUFBTTtRQUNaLEtBQUssRUFBRSxPQUFPO1FBQ2QsSUFBSSxFQUFFLE1BQU07UUFDWixJQUFJLEVBQUUsTUFBTTtRQUNaLFFBQVEsRUFBRSxVQUFVO1FBQ3BCLFFBQVEsRUFBRSxVQUFVO0tBQ3JCO0NBQ08sQ0FBQztBQWlDWCxNQUFNLE9BQU8sZUFBZTtJQUMxQjs7T0FFRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBWSxFQUFFLElBQVM7UUFDekMsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QixPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzNFLENBQUM7UUFDRCxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMzRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUFDLElBQVksRUFBRSxJQUFTO1FBQ3hDLE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztRQUMzQixLQUFLLENBQUMsSUFBSSxD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
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* autocreated commitinfo by @push.rocks/commitinfo
|
|
3
|
-
*/
|
|
4
|
-
export const commitinfo = {
|
|
5
|
-
name: '@push.rocks/tapbundle',
|
|
6
|
-
version: '6.0.3',
|
|
7
|
-
description: 'A comprehensive testing automation library that provides a wide range of utilities and tools for TAP (Test Anything Protocol) based testing, especially suitable for projects using tapbuffer.'
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHNfdGFwYnVuZGxlLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsdUJBQXVCO0lBQzdCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFdBQVcsRUFBRSxnTUFBZ007Q0FDOU0sQ0FBQSJ9
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { tap } from './tapbundle.classes.tap.js';
|
|
2
|
-
export { TapWrap } from './tapbundle.classes.tapwrap.js';
|
|
3
|
-
export { webhelpers } from './webhelpers.js';
|
|
4
|
-
export { TapTools } from './tapbundle.classes.taptools.js';
|
|
5
|
-
import { expect } from '@push.rocks/smartexpect';
|
|
6
|
-
export { expect };
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export { tap } from './tapbundle.classes.tap.js';
|
|
2
|
-
export { TapWrap } from './tapbundle.classes.tapwrap.js';
|
|
3
|
-
export { webhelpers } from './webhelpers.js';
|
|
4
|
-
export { TapTools } from './tapbundle.classes.taptools.js';
|
|
5
|
-
import { expect } from '@push.rocks/smartexpect';
|
|
6
|
-
export { expect };
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c190YXBidW5kbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMifQ==
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { TapTools } from './tapbundle.classes.taptools.js';
|
|
2
|
-
export interface IPreTaskFunction {
|
|
3
|
-
(tapTools?: TapTools): Promise<any>;
|
|
4
|
-
}
|
|
5
|
-
export declare class PreTask {
|
|
6
|
-
description: string;
|
|
7
|
-
preTaskFunction: IPreTaskFunction;
|
|
8
|
-
constructor(descriptionArg: string, preTaskFunctionArg: IPreTaskFunction);
|
|
9
|
-
run(): Promise<void>;
|
|
10
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as plugins from './tapbundle.plugins.js';
|
|
2
|
-
import { TapTools } from './tapbundle.classes.taptools.js';
|
|
3
|
-
export class PreTask {
|
|
4
|
-
constructor(descriptionArg, preTaskFunctionArg) {
|
|
5
|
-
this.description = descriptionArg;
|
|
6
|
-
this.preTaskFunction = preTaskFunctionArg;
|
|
7
|
-
}
|
|
8
|
-
async run() {
|
|
9
|
-
console.log(`::__PRETASK: ${this.description}`);
|
|
10
|
-
await this.preTaskFunction(new TapTools(null));
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwYnVuZGxlLmNsYXNzZXMucHJldGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3RhcGJ1bmRsZS90YXBidW5kbGUuY2xhc3Nlcy5wcmV0YXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sd0JBQXdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBTTNELE1BQU0sT0FBTyxPQUFPO0lBSWxCLFlBQVksY0FBc0IsRUFBRSxrQkFBb0M7UUFDdEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUM7UUFDbEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQztJQUM1QyxDQUFDO0lBRU0sS0FBSyxDQUFDLEdBQUc7UUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNoRCxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0NBQ0YifQ==
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { type IPreTaskFunction } from './tapbundle.classes.pretask.js';
|
|
2
|
-
import { TapTest, type ITestFunction } from './tapbundle.classes.taptest.js';
|
|
3
|
-
export interface ITestSuite {
|
|
4
|
-
description: string;
|
|
5
|
-
tests: TapTest<any>[];
|
|
6
|
-
beforeEach?: ITestFunction<any>;
|
|
7
|
-
afterEach?: ITestFunction<any>;
|
|
8
|
-
parent?: ITestSuite;
|
|
9
|
-
children: ITestSuite[];
|
|
10
|
-
}
|
|
11
|
-
declare class TestBuilder<T> {
|
|
12
|
-
private _tap;
|
|
13
|
-
private _tags;
|
|
14
|
-
private _priority;
|
|
15
|
-
private _retryCount?;
|
|
16
|
-
private _timeoutMs?;
|
|
17
|
-
constructor(tap: Tap<T>);
|
|
18
|
-
tags(...tags: string[]): this;
|
|
19
|
-
priority(level: 'high' | 'medium' | 'low'): this;
|
|
20
|
-
retry(count: number): this;
|
|
21
|
-
timeout(ms: number): this;
|
|
22
|
-
test(description: string, testFunction: ITestFunction<T>): TapTest<T>;
|
|
23
|
-
testOnly(description: string, testFunction: ITestFunction<T>): TapTest<T>;
|
|
24
|
-
testSkip(description: string, testFunction: ITestFunction<T>): TapTest<T>;
|
|
25
|
-
}
|
|
26
|
-
export declare class Tap<T> {
|
|
27
|
-
private _skipCount;
|
|
28
|
-
private _filterTags;
|
|
29
|
-
constructor();
|
|
30
|
-
tags(...tags: string[]): TestBuilder<T>;
|
|
31
|
-
priority(level: 'high' | 'medium' | 'low'): TestBuilder<T>;
|
|
32
|
-
retry(count: number): TestBuilder<T>;
|
|
33
|
-
timeout(ms: number): TestBuilder<T>;
|
|
34
|
-
/**
|
|
35
|
-
* skips a test
|
|
36
|
-
* tests marked with tap.skip.test() are never executed
|
|
37
|
-
*/
|
|
38
|
-
skip: {
|
|
39
|
-
test: (descriptionArg: string, functionArg: ITestFunction<T>) => void;
|
|
40
|
-
testParallel: (descriptionArg: string, functionArg: ITestFunction<T>) => void;
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
* only executes tests marked as ONLY
|
|
44
|
-
*/
|
|
45
|
-
only: {
|
|
46
|
-
test: (descriptionArg: string, testFunctionArg: ITestFunction<T>) => void;
|
|
47
|
-
};
|
|
48
|
-
private _tapPreTasks;
|
|
49
|
-
private _tapTests;
|
|
50
|
-
private _tapTestsOnly;
|
|
51
|
-
private _currentSuite;
|
|
52
|
-
private _rootSuites;
|
|
53
|
-
/**
|
|
54
|
-
* Normal test function, will run one by one
|
|
55
|
-
* @param testDescription - A description of what the test does
|
|
56
|
-
* @param testFunction - A Function that returns a Promise and resolves or rejects
|
|
57
|
-
*/
|
|
58
|
-
test(testDescription: string, testFunction: ITestFunction<T>, modeArg?: 'normal' | 'only' | 'skip'): TapTest<T>;
|
|
59
|
-
preTask(descriptionArg: string, functionArg: IPreTaskFunction): void;
|
|
60
|
-
/**
|
|
61
|
-
* A parallel test that will not be waited for before the next starts.
|
|
62
|
-
* @param testDescription - A description of what the test does
|
|
63
|
-
* @param testFunction - A Function that returns a Promise and resolves or rejects
|
|
64
|
-
*/
|
|
65
|
-
testParallel(testDescription: string, testFunction: ITestFunction<T>): void;
|
|
66
|
-
/**
|
|
67
|
-
* Create a test suite for grouping related tests
|
|
68
|
-
*/
|
|
69
|
-
describe(description: string, suiteFunction: () => void): void;
|
|
70
|
-
/**
|
|
71
|
-
* Set up a function to run before each test in the current suite
|
|
72
|
-
*/
|
|
73
|
-
beforeEach(setupFunction: ITestFunction<any>): void;
|
|
74
|
-
/**
|
|
75
|
-
* Set up a function to run after each test in the current suite
|
|
76
|
-
*/
|
|
77
|
-
afterEach(teardownFunction: ITestFunction<any>): void;
|
|
78
|
-
/**
|
|
79
|
-
* collect all tests from suites
|
|
80
|
-
*/
|
|
81
|
-
private _collectTests;
|
|
82
|
-
/**
|
|
83
|
-
* starts the test evaluation
|
|
84
|
-
*/
|
|
85
|
-
start(optionsArg?: {
|
|
86
|
-
throwOnError: boolean;
|
|
87
|
-
}): Promise<void>;
|
|
88
|
-
/**
|
|
89
|
-
* Run tests in a suite with lifecycle hooks
|
|
90
|
-
*/
|
|
91
|
-
private _runSuite;
|
|
92
|
-
stopForcefully(codeArg?: number, directArg?: boolean): Promise<void>;
|
|
93
|
-
/**
|
|
94
|
-
* handle errors
|
|
95
|
-
*/
|
|
96
|
-
threw(err: Error): void;
|
|
97
|
-
/**
|
|
98
|
-
* Explicitly fail the current test with a custom message
|
|
99
|
-
* @param message - The failure message to display
|
|
100
|
-
*/
|
|
101
|
-
fail(message?: string): never;
|
|
102
|
-
}
|
|
103
|
-
export declare const tap: Tap<unknown>;
|
|
104
|
-
export {};
|