just-test-node 2.0.0-alpha.1 → 2.0.0-alpha.2
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/lib/examples/exampleTestFile.test.js +4 -1
- package/lib/index.js +44 -19
- package/package.json +1 -1
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
function someFunction() { }
|
|
4
|
+
console.log("When discovering, or using json reporter - Should not print in module scope");
|
|
4
5
|
function default_1(suite) {
|
|
5
6
|
suite.describe("Passing suite", suite => {
|
|
7
|
+
console.log("When discovering, or using json reporter - Should not print in describe");
|
|
6
8
|
suite.test("Simple test", t => {
|
|
9
|
+
console.log("When discovering, or using json reporter - Should not print in test");
|
|
7
10
|
});
|
|
8
11
|
suite.test("Async", async (t) => {
|
|
9
12
|
await Promise.resolve("Hi");
|
|
@@ -54,4 +57,4 @@ exports.default = default_1;
|
|
|
54
57
|
function named_function_test_with_spaces(t) {
|
|
55
58
|
}
|
|
56
59
|
|
|
57
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4YW1wbGVzL2V4YW1wbGVUZXN0RmlsZS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsU0FBUyxZQUFZLEtBQUssQ0FBQztBQUUzQixPQUFPLENBQUMsR0FBRyxDQUFDLDZFQUE2RSxDQUFDLENBQUM7QUFFM0YsbUJBQXlCLEtBQWdCO0lBQ3hDLEtBQUssQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFO1FBQ3ZDLE9BQU8sQ0FBQyxHQUFHLENBQUMseUVBQXlFLENBQUMsQ0FBQztRQUV2RixLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLHFFQUFxRSxDQUFDLENBQUM7UUFDcEYsQ0FBQyxDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFDLEVBQUU7WUFDN0IsTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDcEMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDdkIsQ0FBQyxDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsS0FBSyxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUU7UUFFdkMsS0FBSyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUNoQyxNQUFNLE1BQU0sQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDOUIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ1osTUFBTSxNQUFNLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztRQUVILEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQzNCLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNSLE1BQU0sTUFBTSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7UUFFSCxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsRUFBRTtZQUM5QixDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWCxNQUFNLE1BQU0sQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDN0IsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFDLEVBQUU7WUFDMUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV6QyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWCxNQUFNLE9BQU8sQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFDLEVBQUU7WUFDeEMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7WUFDZCxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsRUFBRTtJQUN0QyxDQUFDLENBQUMsQ0FBQztJQUVILEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQUU7UUFDekMsS0FBSyxDQUFDLFFBQVEsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQ2hELEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxlQUFlLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBaEVELDRCQWdFQztBQUVELFNBQVMsK0JBQStCLENBQUMsQ0FBYTtBQUN0RCxDQUFDIiwiZmlsZSI6ImV4YW1wbGVzL2V4YW1wbGVUZXN0RmlsZS50ZXN0LmpzIiwic291cmNlUm9vdCI6Ii4uXFwuLlxcc3JjIn0=
|
package/lib/index.js
CHANGED
|
@@ -39,13 +39,7 @@ async function main() {
|
|
|
39
39
|
(0, help_1.printHelp)(OptionsDefinitions_1.optionsDefinitions);
|
|
40
40
|
return;
|
|
41
41
|
}
|
|
42
|
-
const
|
|
43
|
-
const testFilesPromise = getTestFilesAsync(options);
|
|
44
|
-
const directorySuitesPromise = getDirectorySuitesAsync(options);
|
|
45
|
-
const directorySuites = await directorySuitesPromise;
|
|
46
|
-
const suiteProvider = new SuiteProvider_1.SuiteProvider(directorySuites);
|
|
47
|
-
const testFiles = await testFilesPromise;
|
|
48
|
-
restoreConsole();
|
|
42
|
+
const { testFiles, suiteProvider } = await resolveFiles(options);
|
|
49
43
|
if (options.discover) {
|
|
50
44
|
await outputDiscoveredTests(testFiles, suiteProvider);
|
|
51
45
|
return;
|
|
@@ -60,12 +54,29 @@ async function main() {
|
|
|
60
54
|
}
|
|
61
55
|
}
|
|
62
56
|
;
|
|
57
|
+
async function resolveFiles(options) {
|
|
58
|
+
const restoreConsole = disableConsole();
|
|
59
|
+
try {
|
|
60
|
+
const testFilesPromise = getTestFilesAsync(options);
|
|
61
|
+
const directorySuitesPromise = getDirectorySuitesAsync(options);
|
|
62
|
+
const directorySuites = await directorySuitesPromise;
|
|
63
|
+
const suiteProvider = new SuiteProvider_1.SuiteProvider(directorySuites);
|
|
64
|
+
const testFiles = await testFilesPromise;
|
|
65
|
+
return { testFiles, suiteProvider };
|
|
66
|
+
}
|
|
67
|
+
finally {
|
|
68
|
+
restoreConsole();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
63
71
|
function disableConsole() {
|
|
64
72
|
const original = console;
|
|
73
|
+
console = createFakeConsole();
|
|
74
|
+
return () => { console = original; };
|
|
75
|
+
}
|
|
76
|
+
function createFakeConsole() {
|
|
65
77
|
function nothing() { }
|
|
66
78
|
;
|
|
67
|
-
|
|
68
|
-
return () => { console = original; };
|
|
79
|
+
return { log: nothing, info: nothing, debug: nothing, warn: nothing, error: nothing };
|
|
69
80
|
}
|
|
70
81
|
async function getTestFilesAsync(options) {
|
|
71
82
|
return await globAsync(options.glob);
|
|
@@ -84,15 +95,22 @@ function globAsync(pattern) {
|
|
|
84
95
|
});
|
|
85
96
|
}
|
|
86
97
|
async function test(files, suiteProvider, options) {
|
|
87
|
-
const reporter = createReporter(options.reporter);
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
suite
|
|
93
|
-
|
|
98
|
+
const reporter = createReporter(options.reporter, console);
|
|
99
|
+
const restoreConsole = options.reporter == "json" ?
|
|
100
|
+
disableConsole() :
|
|
101
|
+
() => { };
|
|
102
|
+
try {
|
|
103
|
+
const suite = await createTree(files, suiteProvider);
|
|
104
|
+
reporter.listenTo(suite);
|
|
105
|
+
if (options.filter)
|
|
106
|
+
suite.treeShake(options.filter.toLowerCase());
|
|
107
|
+
return await suite.run({ debug: options.debug });
|
|
108
|
+
}
|
|
109
|
+
finally {
|
|
110
|
+
restoreConsole();
|
|
111
|
+
}
|
|
94
112
|
}
|
|
95
|
-
function createReporter(reporter) {
|
|
113
|
+
function createReporter(reporter, console) {
|
|
96
114
|
switch (reporter) {
|
|
97
115
|
case "spec":
|
|
98
116
|
return new reporters_1.SpecReporter(console);
|
|
@@ -125,8 +143,15 @@ async function getTestFileFunctionAsync(file) {
|
|
|
125
143
|
return testFileFunction;
|
|
126
144
|
}
|
|
127
145
|
async function outputDiscoveredTests(files, suiteProvider) {
|
|
128
|
-
|
|
146
|
+
const restoreConsole = disableConsole();
|
|
147
|
+
let suite;
|
|
148
|
+
try {
|
|
149
|
+
suite = await createTree(files, suiteProvider);
|
|
150
|
+
}
|
|
151
|
+
finally {
|
|
152
|
+
restoreConsole();
|
|
153
|
+
}
|
|
129
154
|
console.log(JSON.stringify(suite.discover()));
|
|
130
155
|
}
|
|
131
156
|
|
|
132
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
157
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,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QUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsS0FBSyxNQUFNO1lBQ1YsT0FBTyxJQUFJLHdCQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDbEM7QUFDRixDQUFDO0FBRUQsS0FBSyxVQUFVLFVBQVUsQ0FBQyxVQUFvQixFQUFFLGFBQTRCO0lBQzNFLEtBQUssSUFBSSxRQUFRLElBQUksVUFBVSxFQUFFO1FBQ2hDLE1BQU0sZUFBZSxHQUFHLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNELE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUxRCxNQUFNLFFBQVEsR0FBRyxNQUFNLGVBQWUsQ0FBQztRQUN2QyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDaEI7SUFFRCxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUM7QUFDM0IsQ0FBQztBQUVELEtBQUssVUFBVSx3QkFBd0IsQ0FBQyxJQUFZO0lBQ25ELElBQUksZ0JBQXFCLENBQUM7SUFFMUIsSUFBSTtRQUNILGdCQUFnQixHQUFHLHdEQUFhLGNBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUMsQ0FBQztLQUNwRDtJQUNELE9BQU8sTUFBTSxFQUFFO1FBQ2QsTUFBTSxhQUFhLElBQUksK0RBQStELE1BQU0sRUFBRSxDQUFDO0tBQy9GO0lBRUQsSUFBSSxPQUFPLGdCQUFnQixJQUFJLFVBQVU7UUFDeEMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO0lBRTdDLElBQUksT0FBTyxnQkFBZ0IsSUFBSSxVQUFVLEVBQUU7UUFDMUMsTUFBTSxhQUFhLElBQUksaUVBQWlFLENBQUM7S0FDekY7SUFFRCxPQUFPLGdCQUFnQixDQUFDO0FBQ3pCLENBQUM7QUFFRCxLQUFLLFVBQVUscUJBQXFCLENBQUMsS0FBZSxFQUFFLGFBQTRCO0lBQ2pGLE1BQU0sY0FBYyxHQUFHLGNBQWMsRUFBRSxDQUFDO0lBQ3hDLElBQUksS0FBWSxDQUFDO0lBRWpCLElBQUk7UUFDSCxLQUFLLEdBQUcsTUFBTSxVQUFVLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0tBQy9DO1lBQ087UUFDUCxjQUFjLEVBQUUsQ0FBQztLQUNqQjtJQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi5cXHNyYyJ9
|