testplane 8.44.2-rc.1 → 8.44.3
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/build/package.json +1 -1
- package/build/src/browser/cdp/selectivity/css-selectivity.d.ts +5 -2
- package/build/src/browser/cdp/selectivity/css-selectivity.js +94 -16
- package/build/src/browser/cdp/selectivity/css-selectivity.js.map +1 -1
- package/build/src/browser/cdp/selectivity/fs-cache.d.ts +1 -0
- package/build/src/browser/cdp/selectivity/fs-cache.js +8 -3
- package/build/src/browser/cdp/selectivity/fs-cache.js.map +1 -1
- package/build/src/browser/cdp/selectivity/index.js +16 -15
- package/build/src/browser/cdp/selectivity/index.js.map +1 -1
- package/build/src/browser/cdp/selectivity/js-selectivity.js +2 -6
- package/build/src/browser/cdp/selectivity/js-selectivity.js.map +1 -1
- package/build/src/browser/commands/restoreState/index.js +4 -16
- package/build/src/browser/commands/restoreState/index.js.map +1 -1
- package/build/src/browser/commands/switchToRepl.js +2 -19
- package/build/src/browser/commands/switchToRepl.js.map +1 -1
- package/build/src/runner/browser-env/vite/browser-modules/tsconfig.tsbuildinfo +1 -1
- package/build/src/test-reader/mocha-reader/index.js +3 -55
- package/build/src/test-reader/mocha-reader/index.js.map +1 -1
- package/build/src/utils/typescript.js +11 -25
- package/build/src/utils/typescript.js.map +1 -1
- package/build/src/worker/runner/test-runner/execution-thread.js +1 -6
- package/build/src/worker/runner/test-runner/execution-thread.js.map +1 -1
- package/package.json +1 -1
- package/build/src/constants/repl.d.ts +0 -2
- package/build/src/constants/repl.js +0 -6
- package/build/src/constants/repl.js.map +0 -1
- package/build/src/utils/repl-instrumentation.d.ts +0 -1
- package/build/src/utils/repl-instrumentation.js +0 -304
- package/build/src/utils/repl-instrumentation.js.map +0 -1
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const path = require("node:path");
|
|
3
|
-
const { fileURLToPath } = require("node:url");
|
|
4
2
|
const _ = require("lodash");
|
|
5
3
|
const Mocha = require("mocha");
|
|
6
|
-
const debugReplInstrumentation = require("debug")("testplane:repl-instrumentation");
|
|
7
4
|
const { MochaEventBus } = require("./mocha-event-bus");
|
|
8
5
|
const { TreeBuilderDecorator } = require("./tree-builder-decorator");
|
|
9
6
|
const { TestReaderEvents } = require("../../events");
|
|
@@ -11,10 +8,6 @@ const { MasterEvents } = require("../../events");
|
|
|
11
8
|
const { getMethodsByInterface } = require("./utils");
|
|
12
9
|
const logger = require("../../utils/logger");
|
|
13
10
|
const { enableSourceMaps } = require("../../utils/typescript");
|
|
14
|
-
const RuntimeConfig = require("../../config/runtime-config");
|
|
15
|
-
// TS-family specs must hit the require hook when --repl-before-test injects scoped eval.
|
|
16
|
-
const REPL_INSTRUMENTATION_FORCE_REQUIRE_EXTENSIONS = new Set([".ts", ".tsx", ".cts", ".mts"]);
|
|
17
|
-
const REPL_INSTRUMENTATION_MISSING_FILE_SUFFIX = ".testplane-repl-force-require";
|
|
18
11
|
function getTagParser(original) {
|
|
19
12
|
return function (title, paramsOrFn, fn) {
|
|
20
13
|
if (typeof paramsOrFn === "function") {
|
|
@@ -51,13 +44,9 @@ async function readFiles(files, { esmDecorator, config, eventBus, runnableOpts,
|
|
|
51
44
|
mocha.fullTrace();
|
|
52
45
|
initBuildContext(eventBus);
|
|
53
46
|
initEventListeners({ rootSuite: mocha.suite, outBus: eventBus, config, runnableOpts });
|
|
54
|
-
files.forEach(f =>
|
|
55
|
-
debugReplInstrumentation("mocha add file %s", f);
|
|
56
|
-
mocha.addFile(f);
|
|
57
|
-
});
|
|
47
|
+
files.forEach(f => mocha.addFile(f));
|
|
58
48
|
try {
|
|
59
|
-
|
|
60
|
-
await mocha.loadFilesAsync({ esmDecorator: mkEsmDecorator(esmDecorator) });
|
|
49
|
+
await mocha.loadFilesAsync({ esmDecorator });
|
|
61
50
|
}
|
|
62
51
|
catch (err) {
|
|
63
52
|
const errorMessage = (err.message || "").split("\n")[0].trim();
|
|
@@ -70,44 +59,6 @@ async function readFiles(files, { esmDecorator, config, eventBus, runnableOpts,
|
|
|
70
59
|
}
|
|
71
60
|
applyOnly(mocha.suite, eventBus);
|
|
72
61
|
}
|
|
73
|
-
function mkEsmDecorator(esmDecorator) {
|
|
74
|
-
if (!RuntimeConfig.getInstance()?.replMode?.beforeTest) {
|
|
75
|
-
return esmDecorator;
|
|
76
|
-
}
|
|
77
|
-
const decorate = esmDecorator || (file => file);
|
|
78
|
-
return file => {
|
|
79
|
-
const decoratedFile = decorate(file);
|
|
80
|
-
const sourceFile = getFilePath(file);
|
|
81
|
-
// Mocha passes file:// URLs here; use the original path to check the actual spec extension.
|
|
82
|
-
if (!sourceFile || !REPL_INSTRUMENTATION_FORCE_REQUIRE_EXTENSIONS.has(path.extname(sourceFile))) {
|
|
83
|
-
return decoratedFile;
|
|
84
|
-
}
|
|
85
|
-
debugReplInstrumentation("force require for REPL instrumentation %s", sourceFile);
|
|
86
|
-
return mkMissingFileUrl(decoratedFile);
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
function getFilePath(file) {
|
|
90
|
-
try {
|
|
91
|
-
return fileURLToPath(file);
|
|
92
|
-
}
|
|
93
|
-
catch {
|
|
94
|
-
return String(file);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
function mkMissingFileUrl(file) {
|
|
98
|
-
try {
|
|
99
|
-
const url = new URL(String(file));
|
|
100
|
-
if (url.protocol === "file:") {
|
|
101
|
-
// Importing this URL fails, then Mocha retries require(originalFile), which pirates transforms.
|
|
102
|
-
url.pathname += REPL_INSTRUMENTATION_MISSING_FILE_SUFFIX;
|
|
103
|
-
return url.toString();
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
catch {
|
|
107
|
-
// If it is not a URL, fall through and make the module path unresolved.
|
|
108
|
-
}
|
|
109
|
-
return String(file) + REPL_INSTRUMENTATION_MISSING_FILE_SUFFIX;
|
|
110
|
-
}
|
|
111
62
|
function initBuildContext(outBus) {
|
|
112
63
|
outBus.emit(TestReaderEvents.NEW_BUILD_INSTRUCTION, ctx => {
|
|
113
64
|
ctx.treeBuilder = TreeBuilderDecorator.create(ctx.treeBuilder);
|
|
@@ -133,10 +84,7 @@ function passthroughFileEvents(inBus, outBus) {
|
|
|
133
84
|
[MochaEventBus.events.EVENT_FILE_PRE_REQUIRE, MasterEvents.BEFORE_FILE_READ],
|
|
134
85
|
[MochaEventBus.events.EVENT_FILE_POST_REQUIRE, MasterEvents.AFTER_FILE_READ],
|
|
135
86
|
].forEach(([mochaEvent, ourEvent]) => {
|
|
136
|
-
inBus.on(mochaEvent, (ctx, file) => {
|
|
137
|
-
debugReplInstrumentation("%s %s", mochaEvent, file);
|
|
138
|
-
outBus.emit(ourEvent, { file });
|
|
139
|
-
});
|
|
87
|
+
inBus.on(mochaEvent, (ctx, file) => outBus.emit(ourEvent, { file }));
|
|
140
88
|
});
|
|
141
89
|
}
|
|
142
90
|
function registerTestObjects(inBus, outBus) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/test-reader/mocha-reader/index.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/test-reader/mocha-reader/index.js"],"names":[],"mappings":"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"}
|
|
@@ -32,7 +32,6 @@ const pirates_1 = require("pirates");
|
|
|
32
32
|
const recast = __importStar(require("recast"));
|
|
33
33
|
const logger = __importStar(require("./logger"));
|
|
34
34
|
const config_1 = require("./config");
|
|
35
|
-
const repl_instrumentation_1 = require("./repl-instrumentation");
|
|
36
35
|
const TESTPLANE_TRANSFORM_HOOK = Symbol.for("testplane.transform.hook");
|
|
37
36
|
const TRANSFORM_CODE_EXTENSIONS = [".js", ".jsx", ".ts", ".tsx", ".mjs", ".cjs", ".mts", ".cts"];
|
|
38
37
|
const ASSET_EXTENSIONS = [
|
|
@@ -70,7 +69,7 @@ const transformCode = (code, { sourceFile, sourceMaps, isSilent = true }) => {
|
|
|
70
69
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
71
70
|
const { transformSync } = require("@swc/core");
|
|
72
71
|
transformFunc = (code, sourceFile, sourceMaps) => {
|
|
73
|
-
const preprocessedCode =
|
|
72
|
+
const preprocessedCode = shouldRemoveViteQueryImports ? removeViteQueryImports(code, sourceFile) : code;
|
|
74
73
|
return transformSync(preprocessedCode, {
|
|
75
74
|
sourceFileName: sourceFile,
|
|
76
75
|
sourceMaps: sourceMaps ? "inline" : false,
|
|
@@ -97,7 +96,7 @@ const transformCode = (code, { sourceFile, sourceMaps, isSilent = true }) => {
|
|
|
97
96
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
98
97
|
const { transformSync } = require("esbuild");
|
|
99
98
|
transformFunc = (code, sourceFile, sourceMaps) => {
|
|
100
|
-
const preprocessedCode =
|
|
99
|
+
const preprocessedCode = shouldRemoveViteQueryImports ? removeViteQueryImports(code, sourceFile) : code;
|
|
101
100
|
return transformSync(preprocessedCode, {
|
|
102
101
|
sourcefile: sourceFile,
|
|
103
102
|
sourcemap: sourceMaps ? "inline" : false,
|
|
@@ -163,21 +162,20 @@ const enableSourceMaps = () => {
|
|
|
163
162
|
processWithTranspileSymbol[TESTPLANE_TRANSFORM_HOOK].enableSourceMaps();
|
|
164
163
|
};
|
|
165
164
|
exports.enableSourceMaps = enableSourceMaps;
|
|
166
|
-
function
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
165
|
+
function removeViteQueryImports(code, sourceFile) {
|
|
166
|
+
const extname = node_path_1.default.extname(sourceFile);
|
|
167
|
+
const isJsxOrTsx = extname === ".jsx" || extname === ".tsx";
|
|
168
|
+
if (!isJsxOrTsx) {
|
|
169
|
+
return code;
|
|
170
170
|
}
|
|
171
|
-
|
|
172
|
-
}
|
|
173
|
-
function mkBabelParser() {
|
|
171
|
+
let parser = null;
|
|
174
172
|
try {
|
|
175
173
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
176
174
|
const babelParser = require("@babel/parser");
|
|
177
|
-
|
|
175
|
+
parser = {
|
|
178
176
|
parse(source) {
|
|
179
177
|
return babelParser.parse(source, {
|
|
180
|
-
sourceType: "
|
|
178
|
+
sourceType: "module",
|
|
181
179
|
plugins: [
|
|
182
180
|
"typescript",
|
|
183
181
|
"jsx",
|
|
@@ -185,25 +183,13 @@ function mkBabelParser() {
|
|
|
185
183
|
"classProperties",
|
|
186
184
|
"nullishCoalescingOperator",
|
|
187
185
|
"optionalChaining",
|
|
188
|
-
"topLevelAwait",
|
|
189
186
|
],
|
|
190
187
|
tokens: true,
|
|
191
188
|
});
|
|
192
189
|
},
|
|
193
190
|
};
|
|
194
191
|
}
|
|
195
|
-
catch {
|
|
196
|
-
return null;
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
function removeViteQueryImports(code, sourceFile) {
|
|
200
|
-
const extname = node_path_1.default.extname(sourceFile);
|
|
201
|
-
const isJsxOrTsx = extname === ".jsx" || extname === ".tsx";
|
|
202
|
-
if (!isJsxOrTsx) {
|
|
203
|
-
return code;
|
|
204
|
-
}
|
|
205
|
-
const parser = mkBabelParser();
|
|
206
|
-
if (!parser) {
|
|
192
|
+
catch (err) {
|
|
207
193
|
// If @babel/parser is not installed, return original code without transformation.
|
|
208
194
|
// This is not a critical issue as the user may not be using Vite-style imports with query parameters.
|
|
209
195
|
return code;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../src/utils/typescript.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA6B;AAC7B,qCAAkC;AAClC,+CAAiC;AACjC,iDAAmC;AACnC,qCAA6C;
|
|
1
|
+
{"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../src/utils/typescript.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,6 @@ const { promiseMethod, promiseTimeout } = require("../../../utils/promise");
|
|
|
3
3
|
const RuntimeConfig = require("../../../config/runtime-config");
|
|
4
4
|
const logger = require("../../../utils/logger");
|
|
5
5
|
const { AbortOnReconnectError } = require("../../../errors/abort-on-reconnect-error");
|
|
6
|
-
const { Hook } = require("../../../test-reader/test-object");
|
|
7
|
-
const { REPL_SCOPED_FN_FLAG } = require("../../../constants/repl");
|
|
8
6
|
module.exports = class ExecutionThread {
|
|
9
7
|
static create(...args) {
|
|
10
8
|
return new this(...args);
|
|
@@ -39,10 +37,7 @@ module.exports = class ExecutionThread {
|
|
|
39
37
|
}
|
|
40
38
|
async _call(runnable) {
|
|
41
39
|
const { replMode } = this._runtimeConfig;
|
|
42
|
-
if (replMode?.beforeTest &&
|
|
43
|
-
!this._isReplBeforeTestOpened &&
|
|
44
|
-
!(runnable instanceof Hook) &&
|
|
45
|
-
!runnable.fn[REPL_SCOPED_FN_FLAG]) {
|
|
40
|
+
if (replMode?.beforeTest && !this._isReplBeforeTestOpened) {
|
|
46
41
|
await this._ctx.browser.switchToRepl();
|
|
47
42
|
this._isReplBeforeTestOpened = true;
|
|
48
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution-thread.js","sourceRoot":"","sources":["../../../../../src/worker/runner/test-runner/execution-thread.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAC5E,MAAM,aAAa,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;AAChE,MAAM,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAChD,MAAM,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,0CAA0C,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"execution-thread.js","sourceRoot":"","sources":["../../../../../src/worker/runner/test-runner/execution-thread.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.REPL_SCOPED_FN_FLAG = exports.REPL_SCOPED_EVAL_CONTEXT_KEY = void 0;
|
|
4
|
-
exports.REPL_SCOPED_EVAL_CONTEXT_KEY = "__testplaneScopedEval";
|
|
5
|
-
exports.REPL_SCOPED_FN_FLAG = "__testplaneScopedRepl";
|
|
6
|
-
//# sourceMappingURL=repl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../../../src/constants/repl.ts"],"names":[],"mappings":";;;AAAa,QAAA,4BAA4B,GAAG,uBAAuB,CAAC;AACvD,QAAA,mBAAmB,GAAG,uBAAuB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function instrumentReplBeforeTestIfNeeded(code: string, sourceFile: string): string;
|
|
@@ -1,304 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.instrumentReplBeforeTestIfNeeded = void 0;
|
|
30
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
31
|
-
const debug_1 = __importDefault(require("debug"));
|
|
32
|
-
const recast = __importStar(require("recast"));
|
|
33
|
-
const runtime_config_1 = __importDefault(require("../config/runtime-config"));
|
|
34
|
-
const repl_1 = require("../constants/repl");
|
|
35
|
-
const logger = __importStar(require("./logger"));
|
|
36
|
-
const debugReplInstrumentation = (0, debug_1.default)("testplane:repl-instrumentation");
|
|
37
|
-
function instrumentReplBeforeTestIfNeeded(code, sourceFile) {
|
|
38
|
-
if (!runtime_config_1.default.getInstance()?.replMode?.beforeTest) {
|
|
39
|
-
return code;
|
|
40
|
-
}
|
|
41
|
-
return instrumentReplBeforeTest(code, sourceFile);
|
|
42
|
-
}
|
|
43
|
-
exports.instrumentReplBeforeTestIfNeeded = instrumentReplBeforeTestIfNeeded;
|
|
44
|
-
function instrumentReplBeforeTest(code, sourceFile) {
|
|
45
|
-
const parser = mkBabelParser();
|
|
46
|
-
if (!parser) {
|
|
47
|
-
debugReplInstrumentation("skip %s: @babel/parser is not available", sourceFile);
|
|
48
|
-
return code;
|
|
49
|
-
}
|
|
50
|
-
let ast;
|
|
51
|
-
try {
|
|
52
|
-
ast = recast.parse(code, {
|
|
53
|
-
parser,
|
|
54
|
-
sourceFileName: sourceFile,
|
|
55
|
-
sourceRoot: node_path_1.default.dirname(sourceFile),
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
catch (err) {
|
|
59
|
-
logger.warn(`Failed to parse file ${sourceFile} for REPL instrumentation: ${err.message}.`);
|
|
60
|
-
return code;
|
|
61
|
-
}
|
|
62
|
-
let isChanged = false;
|
|
63
|
-
let testDefinitionCount = 0;
|
|
64
|
-
let instrumentedCallbackCount = 0;
|
|
65
|
-
recast.visit(ast, {
|
|
66
|
-
visitCallExpression(nodePath) {
|
|
67
|
-
const node = nodePath.value;
|
|
68
|
-
// Handles it(...), specify(...), it.only(...), and it.skip(...).
|
|
69
|
-
if (!isTestDefinitionCall(node)) {
|
|
70
|
-
return this.traverse(nodePath);
|
|
71
|
-
}
|
|
72
|
-
testDefinitionCount++;
|
|
73
|
-
// Handles it("title", fn) and it("title", { tag }, fn).
|
|
74
|
-
const fnIndex = node.arguments.findIndex(isTestCallback);
|
|
75
|
-
if (fnIndex === -1) {
|
|
76
|
-
return this.traverse(nodePath);
|
|
77
|
-
}
|
|
78
|
-
const callback = node.arguments[fnIndex];
|
|
79
|
-
instrumentTestCallback(callback);
|
|
80
|
-
node.arguments[fnIndex] = markTestCallback(callback);
|
|
81
|
-
isChanged = true;
|
|
82
|
-
instrumentedCallbackCount++;
|
|
83
|
-
return this.traverse(nodePath);
|
|
84
|
-
},
|
|
85
|
-
});
|
|
86
|
-
if (!isChanged) {
|
|
87
|
-
debugReplInstrumentation("skip %s: no instrumentable test callbacks found, test definitions: %d", sourceFile, testDefinitionCount);
|
|
88
|
-
return code;
|
|
89
|
-
}
|
|
90
|
-
try {
|
|
91
|
-
const result = recast.print(ast, { sourceMapName: sourceFile }).code;
|
|
92
|
-
debugReplInstrumentation("instrumented %s: %d callback(s), test definitions: %d", sourceFile, instrumentedCallbackCount, testDefinitionCount);
|
|
93
|
-
return result;
|
|
94
|
-
}
|
|
95
|
-
catch (err) {
|
|
96
|
-
logger.warn(`Failed to print file ${sourceFile} after REPL instrumentation: ${err.message}.`);
|
|
97
|
-
return code;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
function mkBabelParser() {
|
|
101
|
-
try {
|
|
102
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
103
|
-
const babelParser = require("@babel/parser");
|
|
104
|
-
return {
|
|
105
|
-
parse(source) {
|
|
106
|
-
return babelParser.parse(source, {
|
|
107
|
-
// Parses both import-based specs and legacy CommonJS-style specs.
|
|
108
|
-
sourceType: "unambiguous",
|
|
109
|
-
plugins: [
|
|
110
|
-
"typescript",
|
|
111
|
-
"jsx",
|
|
112
|
-
"decorators-legacy",
|
|
113
|
-
"classProperties",
|
|
114
|
-
"nullishCoalescingOperator",
|
|
115
|
-
"optionalChaining",
|
|
116
|
-
"topLevelAwait",
|
|
117
|
-
],
|
|
118
|
-
tokens: true,
|
|
119
|
-
});
|
|
120
|
-
},
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
catch {
|
|
124
|
-
return null;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
function isTestDefinitionCall(node) {
|
|
128
|
-
const callee = node.callee;
|
|
129
|
-
if (callee.type === "Identifier") {
|
|
130
|
-
return ["it", "specify"].includes(callee.name);
|
|
131
|
-
}
|
|
132
|
-
if (callee.type !== "MemberExpression" || callee.computed) {
|
|
133
|
-
return false;
|
|
134
|
-
}
|
|
135
|
-
const property = callee.property;
|
|
136
|
-
if (property.type !== "Identifier" || !["only", "skip"].includes(property.name)) {
|
|
137
|
-
return false;
|
|
138
|
-
}
|
|
139
|
-
const object = callee.object;
|
|
140
|
-
return object.type === "Identifier" && ["it", "specify"].includes(object.name);
|
|
141
|
-
}
|
|
142
|
-
function isTestCallback(node) {
|
|
143
|
-
return node.type === "FunctionExpression" || node.type === "ArrowFunctionExpression";
|
|
144
|
-
}
|
|
145
|
-
function instrumentTestCallback(callback) {
|
|
146
|
-
// Handles it("test", () => value) by converting it to async () => { await repl; return value; }.
|
|
147
|
-
callback.async = true;
|
|
148
|
-
const replStatements = parseStatements(mkScopedReplStatement(getBrowserExpression(callback)));
|
|
149
|
-
if (callback.body.type === "BlockStatement") {
|
|
150
|
-
callback.body.body.unshift(...replStatements);
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
const originalExpression = callback.body;
|
|
154
|
-
const returnStatement = recast.types.builders.returnStatement(originalExpression);
|
|
155
|
-
callback.body = recast.types.builders.blockStatement([...replStatements, returnStatement]);
|
|
156
|
-
}
|
|
157
|
-
function markTestCallback(callback) {
|
|
158
|
-
// Marks Object.assign(async function() {}, { "__testplaneScopedRepl": true }) to skip the old runner REPL.
|
|
159
|
-
return parseExpression(`Object.assign(${recast.print(callback).code}, { ${JSON.stringify(repl_1.REPL_SCOPED_FN_FLAG)}: true })`);
|
|
160
|
-
}
|
|
161
|
-
function getBrowserExpression(callback) {
|
|
162
|
-
const [firstParam] = callback.params;
|
|
163
|
-
const browserFromParam = getBrowserExpressionFromParam(firstParam);
|
|
164
|
-
if (browserFromParam) {
|
|
165
|
-
return browserFromParam;
|
|
166
|
-
}
|
|
167
|
-
const browserFromScope = hasTopLevelBinding(callback, "browser")
|
|
168
|
-
? "globalThis.browser"
|
|
169
|
-
: '(typeof browser !== "undefined" && browser) || globalThis.browser';
|
|
170
|
-
// Handles it("test", function() { const { browser } = this; }) without reading browser before const init.
|
|
171
|
-
if (callback.type === "FunctionExpression") {
|
|
172
|
-
return `(this && this.browser) || arguments[0]?.browser || ${browserFromScope}`;
|
|
173
|
-
}
|
|
174
|
-
return browserFromScope;
|
|
175
|
-
}
|
|
176
|
-
function getBrowserExpressionFromParam(param) {
|
|
177
|
-
if (!param) {
|
|
178
|
-
return null;
|
|
179
|
-
}
|
|
180
|
-
// Handles it("test", async browser => ...).
|
|
181
|
-
if (isIdentifier(param)) {
|
|
182
|
-
return `${param.name}.browser`;
|
|
183
|
-
}
|
|
184
|
-
if (!isObjectPattern(param)) {
|
|
185
|
-
return null;
|
|
186
|
-
}
|
|
187
|
-
for (const property of param.properties) {
|
|
188
|
-
if (property.type !== "Property" || property.computed) {
|
|
189
|
-
continue;
|
|
190
|
-
}
|
|
191
|
-
const key = property.key;
|
|
192
|
-
if (key.type !== "Identifier" || key.name !== "browser") {
|
|
193
|
-
continue;
|
|
194
|
-
}
|
|
195
|
-
const value = property.value;
|
|
196
|
-
// Handles it("test", async ({ browser }) => ...).
|
|
197
|
-
if (value.type === "Identifier") {
|
|
198
|
-
return value.name;
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
return null;
|
|
202
|
-
}
|
|
203
|
-
function isIdentifier(node) {
|
|
204
|
-
return node.type === "Identifier";
|
|
205
|
-
}
|
|
206
|
-
function isObjectPattern(node) {
|
|
207
|
-
return node.type === "ObjectPattern";
|
|
208
|
-
}
|
|
209
|
-
function hasTopLevelBinding(callback, name) {
|
|
210
|
-
if (callback.body.type !== "BlockStatement") {
|
|
211
|
-
return false;
|
|
212
|
-
}
|
|
213
|
-
return callback.body.body.some(statement => {
|
|
214
|
-
// Handles const { browser } = this and const browser = ...
|
|
215
|
-
if (statement.type === "VariableDeclaration") {
|
|
216
|
-
const declaration = statement;
|
|
217
|
-
return declaration.declarations.some(declarator => {
|
|
218
|
-
const variableDeclarator = declarator;
|
|
219
|
-
return bindingPatternHasName(variableDeclarator.id, name);
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
|
-
// Handles function browser() {} and class browser {}
|
|
223
|
-
if (statement.type === "FunctionDeclaration" || statement.type === "ClassDeclaration") {
|
|
224
|
-
const declaration = statement;
|
|
225
|
-
return declaration.id?.name === name;
|
|
226
|
-
}
|
|
227
|
-
return false;
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
function bindingPatternHasName(node, name) {
|
|
231
|
-
if (!node) {
|
|
232
|
-
return false;
|
|
233
|
-
}
|
|
234
|
-
if (node.type === "Identifier") {
|
|
235
|
-
return node.name === name;
|
|
236
|
-
}
|
|
237
|
-
if (node.type === "ObjectPattern") {
|
|
238
|
-
return (node.properties?.some(property => {
|
|
239
|
-
// Handles const { browser } = this and Babel's ObjectProperty variant.
|
|
240
|
-
if (property.type === "Property" || property.type === "ObjectProperty") {
|
|
241
|
-
return bindingPatternHasName(property.value, name);
|
|
242
|
-
}
|
|
243
|
-
// Handles const { ...browser } = this.
|
|
244
|
-
if (property.type === "RestElement" || property.type === "RestProperty") {
|
|
245
|
-
return bindingPatternHasName(property.argument, name);
|
|
246
|
-
}
|
|
247
|
-
return false;
|
|
248
|
-
}) ?? false);
|
|
249
|
-
}
|
|
250
|
-
if (node.type === "ArrayPattern") {
|
|
251
|
-
// Handles const [browser] = browsers.
|
|
252
|
-
return node.elements?.some(element => element && bindingPatternHasName(element, name)) ?? false;
|
|
253
|
-
}
|
|
254
|
-
// Handles const { browser = fallback } = this.
|
|
255
|
-
if (node.type === "AssignmentPattern") {
|
|
256
|
-
return bindingPatternHasName(node.left, name);
|
|
257
|
-
}
|
|
258
|
-
if (node.type === "RestElement") {
|
|
259
|
-
// Handles const [...browser] = browsers.
|
|
260
|
-
return bindingPatternHasName(node.argument, name);
|
|
261
|
-
}
|
|
262
|
-
return false;
|
|
263
|
-
}
|
|
264
|
-
function mkScopedReplStatement(browserExpression) {
|
|
265
|
-
// Injects await browser.switchToRepl({ scoped eval }) as the first test-body statement.
|
|
266
|
-
return `
|
|
267
|
-
const __testplaneReplBrowser = ${browserExpression};
|
|
268
|
-
|
|
269
|
-
if (!__testplaneReplBrowser || typeof __testplaneReplBrowser.switchToRepl !== "function") {
|
|
270
|
-
throw new Error("Unable to enter REPL before test: browser is not available in the test scope");
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
await __testplaneReplBrowser.switchToRepl({
|
|
274
|
-
${JSON.stringify(repl_1.REPL_SCOPED_EVAL_CONTEXT_KEY)}: async code => {
|
|
275
|
-
try {
|
|
276
|
-
// First parse REPL input as an expression: SOMETHING or await browser.url(...).
|
|
277
|
-
return await eval("(async () => (" + code + "\\n))()");
|
|
278
|
-
} catch (__testplaneReplError) {
|
|
279
|
-
if (!__testplaneReplError || __testplaneReplError.name !== "SyntaxError") {
|
|
280
|
-
throw __testplaneReplError;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
// Fall back to statement input: const x = 1; await browser.url(...).
|
|
284
|
-
return await eval("(async () => { " + code + "\\n})()");
|
|
285
|
-
}
|
|
286
|
-
},
|
|
287
|
-
});
|
|
288
|
-
`;
|
|
289
|
-
}
|
|
290
|
-
function parseStatements(source) {
|
|
291
|
-
const ast = recast.parse(source, { parser: mkBabelParser() });
|
|
292
|
-
return ast.program.body;
|
|
293
|
-
}
|
|
294
|
-
function parseStatement(source) {
|
|
295
|
-
return parseStatements(source)[0];
|
|
296
|
-
}
|
|
297
|
-
function parseExpression(source) {
|
|
298
|
-
const statement = parseStatement(source);
|
|
299
|
-
if (statement.type !== "ExpressionStatement") {
|
|
300
|
-
throw new Error("Expected expression statement");
|
|
301
|
-
}
|
|
302
|
-
return statement.expression;
|
|
303
|
-
}
|
|
304
|
-
//# sourceMappingURL=repl-instrumentation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"repl-instrumentation.js","sourceRoot":"","sources":["../../../src/utils/repl-instrumentation.ts"],"names":[],"mappings":"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"}
|