testplane 8.20.5 → 8.21.0

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.
Files changed (71) hide show
  1. package/build/package.json +4 -1
  2. package/build/src/browser/commands/assert-view/assert-view-results.js +2 -0
  3. package/build/src/browser/commands/assert-view/assert-view-results.js.map +1 -1
  4. package/build/src/browser/commands/assert-view/capture-processors/assert-refs.d.ts +1 -0
  5. package/build/src/browser/commands/assert-view/capture-processors/assert-refs.js +4 -0
  6. package/build/src/browser/commands/assert-view/capture-processors/assert-refs.js.map +1 -1
  7. package/build/src/browser/commands/assert-view/capture-processors/update-refs.d.ts +3 -0
  8. package/build/src/browser/commands/assert-view/capture-processors/update-refs.js +7 -4
  9. package/build/src/browser/commands/assert-view/capture-processors/update-refs.js.map +1 -1
  10. package/build/src/browser/commands/assert-view/errors/invalid-ref-image-error.d.ts +8 -0
  11. package/build/src/browser/commands/assert-view/errors/invalid-ref-image-error.js +15 -0
  12. package/build/src/browser/commands/assert-view/errors/invalid-ref-image-error.js.map +1 -0
  13. package/build/src/browser/commands/assert-view/index.js +3 -3
  14. package/build/src/browser/commands/assert-view/index.js.map +1 -1
  15. package/build/src/bundle/index.js +96 -1
  16. package/build/src/config/index.js +5 -2
  17. package/build/src/config/index.js.map +1 -1
  18. package/build/src/config/options-builder.d.ts +1 -1
  19. package/build/src/config/types.d.ts +7 -5
  20. package/build/src/config/utils.d.ts +14 -11
  21. package/build/src/config/utils.js +47 -19
  22. package/build/src/config/utils.js.map +1 -1
  23. package/build/src/index.d.ts +1 -0
  24. package/build/src/index.js +15 -0
  25. package/build/src/index.js.map +1 -1
  26. package/build/src/mock/index.d.ts +4 -0
  27. package/build/src/mock/index.js +25 -0
  28. package/build/src/mock/index.js.map +1 -0
  29. package/build/src/mock/vitest-spy.d.ts +321 -0
  30. package/build/src/mock/vitest-spy.js +173 -0
  31. package/build/src/mock/vitest-spy.js.map +1 -0
  32. package/build/src/runner/browser-env/vite/browser-modules/mock.d.ts +5 -0
  33. package/build/src/runner/browser-env/vite/browser-modules/mock.js +38 -0
  34. package/build/src/runner/browser-env/vite/browser-modules/mock.js.map +1 -0
  35. package/build/src/runner/browser-env/vite/browser-modules/stubs/@wdio-logger.js.map +1 -0
  36. package/build/src/runner/browser-env/vite/browser-modules/{mock → stubs}/default-module.js.map +1 -1
  37. package/build/src/runner/browser-env/vite/browser-modules/{mock → stubs}/import-meta-resolve.js.map +1 -1
  38. package/build/src/runner/browser-env/vite/browser-modules/tsconfig.tsbuildinfo +1 -1
  39. package/build/src/runner/browser-env/vite/browser-modules/types.d.ts +2 -0
  40. package/build/src/runner/browser-env/vite/constants.d.ts +3 -0
  41. package/build/src/runner/browser-env/vite/constants.js +4 -1
  42. package/build/src/runner/browser-env/vite/constants.js.map +1 -1
  43. package/build/src/runner/browser-env/vite/manual-mock.d.ts +23 -0
  44. package/build/src/runner/browser-env/vite/manual-mock.js +65 -0
  45. package/build/src/runner/browser-env/vite/manual-mock.js.map +1 -0
  46. package/build/src/runner/browser-env/vite/plugins/generate-index-html.js +27 -25
  47. package/build/src/runner/browser-env/vite/plugins/generate-index-html.js.map +1 -1
  48. package/build/src/runner/browser-env/vite/plugins/mock.d.ts +3 -0
  49. package/build/src/runner/browser-env/vite/plugins/mock.js +301 -0
  50. package/build/src/runner/browser-env/vite/plugins/mock.js.map +1 -0
  51. package/build/src/runner/browser-env/vite/server.js +8 -1
  52. package/build/src/runner/browser-env/vite/server.js.map +1 -1
  53. package/build/src/runner/browser-env/vite/types.d.ts +13 -0
  54. package/build/src/runner/browser-env/vite/types.js.map +1 -1
  55. package/build/src/runner/browser-env/vite/utils.d.ts +10 -0
  56. package/build/src/runner/browser-env/vite/utils.js +31 -1
  57. package/build/src/runner/browser-env/vite/utils.js.map +1 -1
  58. package/build/src/utils/module.d.ts +1 -0
  59. package/build/src/utils/module.js +5 -1
  60. package/build/src/utils/module.js.map +1 -1
  61. package/package.json +4 -1
  62. package/build/src/browser/commands/assert-view/errors/invalid-png-error.d.ts +0 -5
  63. package/build/src/browser/commands/assert-view/errors/invalid-png-error.js +0 -9
  64. package/build/src/browser/commands/assert-view/errors/invalid-png-error.js.map +0 -1
  65. package/build/src/runner/browser-env/vite/browser-modules/mock/@wdio-logger.js.map +0 -1
  66. /package/build/src/runner/browser-env/vite/browser-modules/{mock → stubs}/@wdio-logger.d.ts +0 -0
  67. /package/build/src/runner/browser-env/vite/browser-modules/{mock → stubs}/@wdio-logger.js +0 -0
  68. /package/build/src/runner/browser-env/vite/browser-modules/{mock → stubs}/default-module.d.ts +0 -0
  69. /package/build/src/runner/browser-env/vite/browser-modules/{mock → stubs}/default-module.js +0 -0
  70. /package/build/src/runner/browser-env/vite/browser-modules/{mock → stubs}/import-meta-resolve.d.ts +0 -0
  71. /package/build/src/runner/browser-env/vite/browser-modules/{mock → stubs}/import-meta-resolve.js +0 -0
@@ -0,0 +1,4 @@
1
+ export * from "./vitest-spy";
2
+ type MockFactory = (originalImport?: unknown) => unknown;
3
+ export declare function mock(_moduleName: string, _factory?: MockFactory): void;
4
+ export declare function unmock(_moduleName: string): void;
@@ -0,0 +1,25 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.unmock = exports.mock = void 0;
18
+ __exportStar(require("./vitest-spy"), exports);
19
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
20
+ function mock(_moduleName, _factory) { }
21
+ exports.mock = mock;
22
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
23
+ function unmock(_moduleName) { }
24
+ exports.unmock = unmock;
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mock/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA6B;AAK7B,6DAA6D;AAC7D,SAAgB,IAAI,CAAC,WAAmB,EAAE,QAAsB,IAAS,CAAC;AAA1E,oBAA0E;AAE1E,6DAA6D;AAC7D,SAAgB,MAAM,CAAC,WAAmB,IAAS,CAAC;AAApD,wBAAoD"}
@@ -0,0 +1,321 @@
1
+ interface MockResultReturn<T> {
2
+ type: "return";
3
+ /**
4
+ * The value that was returned from the function. If function returned a Promise, then this will be a resolved value.
5
+ */
6
+ value: T;
7
+ }
8
+ interface MockResultIncomplete {
9
+ type: "incomplete";
10
+ value: undefined;
11
+ }
12
+ interface MockResultThrow {
13
+ type: "throw";
14
+ /**
15
+ * An error that was thrown during function execution.
16
+ */
17
+ value: any;
18
+ }
19
+ interface MockSettledResultFulfilled<T> {
20
+ type: "fulfilled";
21
+ value: T;
22
+ }
23
+ interface MockSettledResultRejected {
24
+ type: "rejected";
25
+ value: any;
26
+ }
27
+ export type MockResult<T> = MockResultReturn<T> | MockResultThrow | MockResultIncomplete;
28
+ export type MockSettledResult<T> = MockSettledResultFulfilled<T> | MockSettledResultRejected;
29
+ export interface MockContext<T extends Procedure> {
30
+ /**
31
+ * This is an array containing all arguments for each call. One item of the array is the arguments of that call.
32
+ *
33
+ * @example
34
+ * const fn = vi.fn()
35
+ *
36
+ * fn('arg1', 'arg2')
37
+ * fn('arg3')
38
+ *
39
+ * fn.mock.calls === [
40
+ * ['arg1', 'arg2'], // first call
41
+ * ['arg3'], // second call
42
+ * ]
43
+ */
44
+ calls: Parameters<T>[];
45
+ /**
46
+ * This is an array containing all instances that were instantiated when mock was called with a `new` keyword. Note that this is an actual context (`this`) of the function, not a return value.
47
+ */
48
+ instances: ReturnType<T>[];
49
+ /**
50
+ * An array of `this` values that were used during each call to the mock function.
51
+ */
52
+ contexts: ThisParameterType<T>[];
53
+ /**
54
+ * The order of mock's execution. This returns an array of numbers which are shared between all defined mocks.
55
+ *
56
+ * @example
57
+ * const fn1 = vi.fn()
58
+ * const fn2 = vi.fn()
59
+ *
60
+ * fn1()
61
+ * fn2()
62
+ * fn1()
63
+ *
64
+ * fn1.mock.invocationCallOrder === [1, 3]
65
+ * fn2.mock.invocationCallOrder === [2]
66
+ */
67
+ invocationCallOrder: number[];
68
+ /**
69
+ * This is an array containing all values that were `returned` from the function.
70
+ *
71
+ * The `value` property contains the returned value or thrown error. If the function returned a `Promise`, then `result` will always be `'return'` even if the promise was rejected.
72
+ *
73
+ * @example
74
+ * const fn = vi.fn()
75
+ * .mockReturnValueOnce('result')
76
+ * .mockImplementationOnce(() => { throw new Error('thrown error') })
77
+ *
78
+ * const result = fn()
79
+ *
80
+ * try {
81
+ * fn()
82
+ * }
83
+ * catch {}
84
+ *
85
+ * fn.mock.results === [
86
+ * {
87
+ * type: 'return',
88
+ * value: 'result',
89
+ * },
90
+ * {
91
+ * type: 'throw',
92
+ * value: Error,
93
+ * },
94
+ * ]
95
+ */
96
+ results: MockResult<ReturnType<T>>[];
97
+ /**
98
+ * An array containing all values that were `resolved` or `rejected` from the function.
99
+ *
100
+ * This array will be empty if the function was never resolved or rejected.
101
+ *
102
+ * @example
103
+ * const fn = vi.fn().mockResolvedValueOnce('result')
104
+ *
105
+ * const result = fn()
106
+ *
107
+ * fn.mock.settledResults === []
108
+ * fn.mock.results === [
109
+ * {
110
+ * type: 'return',
111
+ * value: Promise<'result'>,
112
+ * },
113
+ * ]
114
+ *
115
+ * await result
116
+ *
117
+ * fn.mock.settledResults === [
118
+ * {
119
+ * type: 'fulfilled',
120
+ * value: 'result',
121
+ * },
122
+ * ]
123
+ */
124
+ settledResults: MockSettledResult<Awaited<ReturnType<T>>>[];
125
+ /**
126
+ * This contains the arguments of the last call. If spy wasn't called, will return `undefined`.
127
+ */
128
+ lastCall: Parameters<T> | undefined;
129
+ }
130
+ type Procedure = (...args: any[]) => any;
131
+ type NormalizedPrecedure<T extends Procedure> = (...args: Parameters<T>) => ReturnType<T>;
132
+ type Methods<T> = keyof {
133
+ [K in keyof T as T[K] extends Procedure ? K : never]: T[K];
134
+ };
135
+ type Properties<T> = {
136
+ [K in keyof T]: T[K] extends Procedure ? never : K;
137
+ }[keyof T] & (string | symbol);
138
+ type Classes<T> = {
139
+ [K in keyof T]: T[K] extends new (...args: any[]) => any ? K : never;
140
+ }[keyof T] & (string | symbol);
141
+ export interface MockInstance<T extends Procedure = Procedure> {
142
+ /**
143
+ * Use it to return the name given to mock with method `.mockName(name)`.
144
+ */
145
+ getMockName(): string;
146
+ /**
147
+ * Sets internal mock name. Useful to see the name of the mock if an assertion fails.
148
+ */
149
+ mockName(n: string): this;
150
+ /**
151
+ * Current context of the mock. It stores information about all invocation calls, instances, and results.
152
+ */
153
+ mock: MockContext<T>;
154
+ /**
155
+ * Clears all information about every call. After calling it, all properties on `.mock` will return an empty state. This method does not reset implementations.
156
+ *
157
+ * It is useful if you need to clean up mock between different assertions.
158
+ */
159
+ mockClear(): this;
160
+ /**
161
+ * Does what `mockClear` does and makes inner implementation an empty function (returning `undefined` when invoked). This also resets all "once" implementations.
162
+ *
163
+ * This is useful when you want to completely reset a mock to the default state.
164
+ */
165
+ mockReset(): this;
166
+ /**
167
+ * Does what `mockReset` does and restores inner implementation to the original function.
168
+ *
169
+ * Note that restoring mock from `vi.fn()` will set implementation to an empty function that returns `undefined`. Restoring a `vi.fn(impl)` will restore implementation to `impl`.
170
+ */
171
+ mockRestore(): void;
172
+ /**
173
+ * Returns current mock implementation if there is one.
174
+ *
175
+ * If mock was created with `vi.fn`, it will consider passed down method as a mock implementation.
176
+ *
177
+ * If mock was created with `vi.spyOn`, it will return `undefined` unless a custom implementation was provided.
178
+ */
179
+ getMockImplementation(): NormalizedPrecedure<T> | undefined;
180
+ /**
181
+ * Accepts a function that will be used as an implementation of the mock.
182
+ * @example
183
+ * const increment = vi.fn().mockImplementation(count => count + 1);
184
+ * expect(increment(3)).toBe(4);
185
+ */
186
+ mockImplementation(fn: NormalizedPrecedure<T>): this;
187
+ /**
188
+ * Accepts a function that will be used as a mock implementation during the next call. Can be chained so that multiple function calls produce different results.
189
+ * @example
190
+ * const fn = vi.fn(count => count).mockImplementationOnce(count => count + 1);
191
+ * expect(fn(3)).toBe(4);
192
+ * expect(fn(3)).toBe(3);
193
+ */
194
+ mockImplementationOnce(fn: NormalizedPrecedure<T>): this;
195
+ /**
196
+ * Overrides the original mock implementation temporarily while the callback is being executed.
197
+ * @example
198
+ * const myMockFn = vi.fn(() => 'original')
199
+ *
200
+ * myMockFn.withImplementation(() => 'temp', () => {
201
+ * myMockFn() // 'temp'
202
+ * })
203
+ *
204
+ * myMockFn() // 'original'
205
+ */
206
+ withImplementation<T2>(fn: NormalizedPrecedure<T>, cb: () => T2): T2 extends Promise<unknown> ? Promise<this> : this;
207
+ /**
208
+ * Use this if you need to return `this` context from the method without invoking actual implementation.
209
+ */
210
+ mockReturnThis(): this;
211
+ /**
212
+ * Accepts a value that will be returned whenever the mock function is called.
213
+ */
214
+ mockReturnValue(obj: ReturnType<T>): this;
215
+ /**
216
+ * Accepts a value that will be returned during the next function call. If chained, every consecutive call will return the specified value.
217
+ *
218
+ * When there are no more `mockReturnValueOnce` values to use, mock will fallback to the previously defined implementation if there is one.
219
+ * @example
220
+ * const myMockFn = vi
221
+ * .fn()
222
+ * .mockReturnValue('default')
223
+ * .mockReturnValueOnce('first call')
224
+ * .mockReturnValueOnce('second call')
225
+ *
226
+ * // 'first call', 'second call', 'default'
227
+ * console.log(myMockFn(), myMockFn(), myMockFn())
228
+ */
229
+ mockReturnValueOnce(obj: ReturnType<T>): this;
230
+ /**
231
+ * Accepts a value that will be resolved when async function is called.
232
+ * @example
233
+ * const asyncMock = vi.fn().mockResolvedValue(42)
234
+ * asyncMock() // Promise<42>
235
+ */
236
+ mockResolvedValue(obj: Awaited<ReturnType<T>>): this;
237
+ /**
238
+ * Accepts a value that will be resolved during the next function call. If chained, every consecutive call will resolve specified value.
239
+ * @example
240
+ * const myMockFn = vi
241
+ * .fn()
242
+ * .mockResolvedValue('default')
243
+ * .mockResolvedValueOnce('first call')
244
+ * .mockResolvedValueOnce('second call')
245
+ *
246
+ * // Promise<'first call'>, Promise<'second call'>, Promise<'default'>
247
+ * console.log(myMockFn(), myMockFn(), myMockFn())
248
+ */
249
+ mockResolvedValueOnce(obj: Awaited<ReturnType<T>>): this;
250
+ /**
251
+ * Accepts an error that will be rejected when async function is called.
252
+ * @example
253
+ * const asyncMock = vi.fn().mockRejectedValue(new Error('Async error'))
254
+ * await asyncMock() // throws 'Async error'
255
+ */
256
+ mockRejectedValue(obj: any): this;
257
+ /**
258
+ * Accepts a value that will be rejected during the next function call. If chained, every consecutive call will reject specified value.
259
+ * @example
260
+ * const asyncMock = vi
261
+ * .fn()
262
+ * .mockResolvedValueOnce('first call')
263
+ * .mockRejectedValueOnce(new Error('Async error'))
264
+ *
265
+ * await asyncMock() // first call
266
+ * await asyncMock() // throws "Async error"
267
+ */
268
+ mockRejectedValueOnce(obj: any): this;
269
+ }
270
+ export interface Mock<T extends Procedure = Procedure> extends MockInstance<T> {
271
+ new (...args: Parameters<T>): ReturnType<T>;
272
+ (...args: Parameters<T>): ReturnType<T>;
273
+ }
274
+ type PartialMaybePromise<T> = T extends Promise<Awaited<T>> ? Promise<Partial<Awaited<T>>> : Partial<T>;
275
+ export interface PartialMock<T extends Procedure = Procedure> extends MockInstance<(...args: Parameters<T>) => PartialMaybePromise<ReturnType<T>>> {
276
+ new (...args: Parameters<T>): ReturnType<T>;
277
+ (...args: Parameters<T>): ReturnType<T>;
278
+ }
279
+ export type MaybeMockedConstructor<T> = T extends new (...args: Array<any>) => infer R ? Mock<(...args: ConstructorParameters<T>) => R> : T;
280
+ export type MockedFunction<T extends Procedure> = Mock<T> & {
281
+ [K in keyof T]: T[K];
282
+ };
283
+ export type PartiallyMockedFunction<T extends Procedure> = PartialMock<T> & {
284
+ [K in keyof T]: T[K];
285
+ };
286
+ export type MockedFunctionDeep<T extends Procedure> = Mock<T> & MockedObjectDeep<T>;
287
+ export type PartiallyMockedFunctionDeep<T extends Procedure> = PartialMock<T> & MockedObjectDeep<T>;
288
+ export type MockedObject<T> = MaybeMockedConstructor<T> & {
289
+ [K in Methods<T>]: T[K] extends Procedure ? MockedFunction<T[K]> : T[K];
290
+ } & {
291
+ [K in Properties<T>]: T[K];
292
+ };
293
+ export type MockedObjectDeep<T> = MaybeMockedConstructor<T> & {
294
+ [K in Methods<T>]: T[K] extends Procedure ? MockedFunctionDeep<T[K]> : T[K];
295
+ } & {
296
+ [K in Properties<T>]: MaybeMockedDeep<T[K]>;
297
+ };
298
+ export type MaybeMockedDeep<T> = T extends Procedure ? MockedFunctionDeep<T> : T extends object ? MockedObjectDeep<T> : T;
299
+ export type MaybePartiallyMockedDeep<T> = T extends Procedure ? PartiallyMockedFunctionDeep<T> : T extends object ? MockedObjectDeep<T> : T;
300
+ export type MaybeMocked<T> = T extends Procedure ? MockedFunction<T> : T extends object ? MockedObject<T> : T;
301
+ export type MaybePartiallyMocked<T> = T extends Procedure ? PartiallyMockedFunction<T> : T extends object ? MockedObject<T> : T;
302
+ interface Constructable {
303
+ new (...args: any[]): any;
304
+ }
305
+ export type MockedClass<T extends Constructable> = MockInstance<(...args: ConstructorParameters<T>) => InstanceType<T>> & {
306
+ prototype: T extends {
307
+ prototype: any;
308
+ } ? Mocked<T["prototype"]> : never;
309
+ } & T;
310
+ export type Mocked<T> = {
311
+ [P in keyof T]: T[P] extends Procedure ? MockInstance<T[P]> : T[P] extends Constructable ? MockedClass<T[P]> : T[P];
312
+ } & T;
313
+ export declare const mocks: Set<MockInstance>;
314
+ export declare function isMockFunction(fn: any): fn is MockInstance;
315
+ export declare function spyOn<T, S extends Properties<Required<T>>>(obj: T, methodName: S, accessType: "get"): MockInstance<() => T[S]>;
316
+ export declare function spyOn<T, G extends Properties<Required<T>>>(obj: T, methodName: G, accessType: "set"): MockInstance<(arg: T[G]) => void>;
317
+ export declare function spyOn<T, M extends Classes<Required<T>> | Methods<Required<T>>>(obj: T, methodName: M): Required<T>[M] extends {
318
+ new (...args: infer A): infer R;
319
+ } ? MockInstance<(this: R, ...args: A) => R> : T[M] extends Procedure ? MockInstance<T[M]> : never;
320
+ export declare function fn<T extends Procedure = Procedure>(implementation?: T): Mock<T>;
321
+ export {};
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ // TODO: use @vitest/spy when migrate to esm
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.fn = exports.spyOn = exports.isMockFunction = exports.mocks = void 0;
28
+ const tinyspy = __importStar(require("tinyspy"));
29
+ exports.mocks = new Set();
30
+ function isMockFunction(fn) {
31
+ return typeof fn === "function" && "_isMockFunction" in fn && fn._isMockFunction;
32
+ }
33
+ exports.isMockFunction = isMockFunction;
34
+ function spyOn(obj, method, accessType) {
35
+ const dictionary = {
36
+ get: "getter",
37
+ set: "setter",
38
+ };
39
+ const objMethod = accessType ? { [dictionary[accessType]]: method } : method;
40
+ const stub = tinyspy.internalSpyOn(obj, objMethod);
41
+ return enhanceSpy(stub);
42
+ }
43
+ exports.spyOn = spyOn;
44
+ let callOrder = 0;
45
+ function enhanceSpy(spy) {
46
+ const stub = spy;
47
+ let implementation;
48
+ let instances = [];
49
+ let contexts = [];
50
+ let invocations = [];
51
+ const state = tinyspy.getInternalState(spy);
52
+ const mockContext = {
53
+ get calls() {
54
+ return state.calls;
55
+ },
56
+ get contexts() {
57
+ return contexts;
58
+ },
59
+ get instances() {
60
+ return instances;
61
+ },
62
+ get invocationCallOrder() {
63
+ return invocations;
64
+ },
65
+ get results() {
66
+ return state.results.map(([callType, value]) => {
67
+ const type = callType === "error" ? "throw" : "return";
68
+ return { type, value };
69
+ });
70
+ },
71
+ get settledResults() {
72
+ return state.resolves.map(([callType, value]) => {
73
+ const type = callType === "error" ? "rejected" : "fulfilled";
74
+ return { type, value };
75
+ });
76
+ },
77
+ get lastCall() {
78
+ return state.calls[state.calls.length - 1];
79
+ },
80
+ };
81
+ let onceImplementations = [];
82
+ let implementationChangedTemporarily = false;
83
+ function mockCall(...args) {
84
+ instances.push(this);
85
+ contexts.push(this);
86
+ invocations.push(++callOrder);
87
+ const impl = implementationChangedTemporarily
88
+ ? implementation
89
+ : onceImplementations.shift() || implementation || state.getOriginal() || (() => { });
90
+ return impl.apply(this, args);
91
+ }
92
+ let name = stub.name;
93
+ stub.getMockName = () => name || "vi.fn()";
94
+ stub.mockName = n => {
95
+ name = n;
96
+ return stub;
97
+ };
98
+ stub.mockClear = () => {
99
+ state.reset();
100
+ instances = [];
101
+ contexts = [];
102
+ invocations = [];
103
+ return stub;
104
+ };
105
+ stub.mockReset = () => {
106
+ stub.mockClear();
107
+ implementation = (() => undefined);
108
+ onceImplementations = [];
109
+ return stub;
110
+ };
111
+ stub.mockRestore = () => {
112
+ stub.mockReset();
113
+ state.restore();
114
+ implementation = undefined;
115
+ return stub;
116
+ };
117
+ stub.getMockImplementation = () => implementation;
118
+ stub.mockImplementation = (fn) => {
119
+ implementation = fn;
120
+ state.willCall(mockCall);
121
+ return stub;
122
+ };
123
+ stub.mockImplementationOnce = (fn) => {
124
+ onceImplementations.push(fn);
125
+ return stub;
126
+ };
127
+ function withImplementation(fn, cb) {
128
+ const originalImplementation = implementation;
129
+ implementation = fn;
130
+ state.willCall(mockCall);
131
+ implementationChangedTemporarily = true;
132
+ const reset = () => {
133
+ implementation = originalImplementation;
134
+ implementationChangedTemporarily = false;
135
+ };
136
+ const result = cb();
137
+ if (result instanceof Promise) {
138
+ return result.then(() => {
139
+ reset();
140
+ return stub;
141
+ });
142
+ }
143
+ reset();
144
+ return stub;
145
+ }
146
+ stub.withImplementation = withImplementation;
147
+ stub.mockReturnThis = () => stub.mockImplementation(function () {
148
+ return this;
149
+ });
150
+ stub.mockReturnValue = (val) => stub.mockImplementation((() => val));
151
+ stub.mockReturnValueOnce = (val) => stub.mockImplementationOnce((() => val));
152
+ stub.mockResolvedValue = (val) => stub.mockImplementation((() => Promise.resolve(val)));
153
+ stub.mockResolvedValueOnce = (val) => stub.mockImplementationOnce((() => Promise.resolve(val)));
154
+ stub.mockRejectedValue = (val) => stub.mockImplementation((() => Promise.reject(val)));
155
+ stub.mockRejectedValueOnce = (val) => stub.mockImplementationOnce((() => Promise.reject(val)));
156
+ Object.defineProperty(stub, "mock", {
157
+ get: () => mockContext,
158
+ });
159
+ state.willCall(mockCall);
160
+ exports.mocks.add(stub);
161
+ return stub;
162
+ }
163
+ function fn(implementation) {
164
+ const enhancedSpy = enhanceSpy(tinyspy.internalSpyOn({
165
+ spy: implementation || function () { },
166
+ }, "spy"));
167
+ if (implementation) {
168
+ enhancedSpy.mockImplementation(implementation);
169
+ }
170
+ return enhancedSpy;
171
+ }
172
+ exports.fn = fn;
173
+ //# sourceMappingURL=vitest-spy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vitest-spy.js","sourceRoot":"","sources":["../../../src/mock/vitest-spy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from "@vitest/spy";
2
+ export { Key } from "webdriverio";
3
+ import type { MockFactory } from "./types.js";
4
+ export declare function mock(moduleName: string, factory?: MockFactory, originalImport?: unknown): Promise<void>;
5
+ export declare function unmock(_moduleName: string): void;
@@ -0,0 +1,38 @@
1
+ // This module replaces testplane import and works only in browser environment
2
+ export * from "@vitest/spy";
3
+ export { Key } from "webdriverio";
4
+ // solution found here - https://stackoverflow.com/questions/48674303/resolve-relative-path-to-absolute-url-from-es6-module-in-browser
5
+ const a = document.createElement("a");
6
+ function resolveUrl(path) {
7
+ a.href = path;
8
+ return a.href;
9
+ }
10
+ export async function mock(moduleName, factory, originalImport) {
11
+ // Mock call without factory parameter is handled by manual-mock module and is being removed from the source code by mock vite plugin
12
+ if (!factory || typeof factory !== "function") {
13
+ return;
14
+ }
15
+ const { file, mockCache } = window.__testplane__;
16
+ const isModuleLocal = moduleName.startsWith("./") || moduleName.startsWith("../");
17
+ let mockPath;
18
+ if (isModuleLocal) {
19
+ const absModuleUrl = resolveUrl(file.split("/").slice(0, -1).join("/") + `/${moduleName}`);
20
+ mockPath = new URL(absModuleUrl).pathname;
21
+ }
22
+ else {
23
+ mockPath = moduleName;
24
+ }
25
+ try {
26
+ const resolvedMock = await factory(originalImport);
27
+ mockCache.set(mockPath, resolvedMock);
28
+ }
29
+ catch (err) {
30
+ const error = err;
31
+ throw new Error(`There was an error in mock factory of module "${moduleName}":\n${error.stack}`);
32
+ }
33
+ }
34
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
35
+ export function unmock(_moduleName) {
36
+ // is implemented in manual-mock module and is being removed from the source code by mock vite plugin
37
+ }
38
+ //# sourceMappingURL=mock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../../../../../src/runner/browser-env/vite/browser-modules/mock.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAE9E,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGlC,sIAAsI;AACtI,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACtC,SAAS,UAAU,CAAC,IAAY;IAC5B,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;IACd,OAAO,CAAC,CAAC,IAAI,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,UAAkB,EAAE,OAAqB,EAAE,cAAwB;IAC1F,qIAAqI;IACrI,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QAC5C,OAAO;IACX,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC;IACjD,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAElF,IAAI,QAAgB,CAAC;IAErB,IAAI,aAAa,EAAE,CAAC;QAChB,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC,CAAC;QAE3F,QAAQ,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC;IAC9C,CAAC;SAAM,CAAC;QACJ,QAAQ,GAAG,UAAU,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;QACnD,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,GAAY,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,iDAAiD,UAAU,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IACrG,CAAC;AACL,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,MAAM,CAAC,WAAmB;IACtC,qGAAqG;AACzG,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"@wdio-logger.js","sourceRoot":"","sources":["../../../../../../../src/runner/browser-env/vite/browser-modules/stubs/@wdio-logger.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,SAAS;IAC7B,OAAO;QACH,GAAG,EAAE,GAAS,EAAE,GAAE,CAAC;QACnB,IAAI,EAAE,GAAS,EAAE,GAAE,CAAC;QACpB,IAAI,EAAE,GAAS,EAAE,GAAE,CAAC;QACpB,KAAK,EAAE,GAAS,EAAE,GAAE,CAAC;KACK,CAAC;AACnC,CAAC;AAED,SAAS,CAAC,kBAAkB,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"default-module.js","sourceRoot":"","sources":["../../../../../../../src/runner/browser-env/vite/browser-modules/mock/default-module.ts"],"names":[],"mappings":"AAAA,eAAe,GAAS,EAAE,GAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"default-module.js","sourceRoot":"","sources":["../../../../../../../src/runner/browser-env/vite/browser-modules/stubs/default-module.ts"],"names":[],"mappings":"AAAA,eAAe,GAAS,EAAE,GAAE,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"import-meta-resolve.js","sourceRoot":"","sources":["../../../../../../../src/runner/browser-env/vite/browser-modules/mock/import-meta-resolve.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"import-meta-resolve.js","sourceRoot":"","sources":["../../../../../../../src/runner/browser-env/vite/browser-modules/stubs/import-meta-resolve.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC"}