testeranto 0.82.0 → 0.85.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/README.md +0 -2
  2. package/dist/common/package.json +3 -0
  3. package/dist/common/src/Node.js +2 -0
  4. package/dist/common/src/PM/main.js +182 -79
  5. package/dist/common/src/PM/node.js +32 -6
  6. package/dist/common/src/PM/web.js +28 -54
  7. package/dist/common/src/Project.js +0 -3
  8. package/dist/common/src/Puppeteer.js +9 -51
  9. package/dist/common/src/SubPackages/react-dom/jsx/web.js +11 -11
  10. package/dist/common/src/Web.js +2 -0
  11. package/dist/common/src/esbuildConfigs/featuresPlugin.js +39 -0
  12. package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +62 -41
  13. package/dist/common/src/esbuildConfigs/node.js +10 -3
  14. package/dist/common/src/esbuildConfigs/web.js +6 -2
  15. package/dist/common/src/lib/abstractBase.js +343 -335
  16. package/dist/common/src/lib/basebuilder.js +7 -3
  17. package/dist/common/src/lib/core.js +1 -1
  18. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  19. package/dist/module/package.json +3 -0
  20. package/dist/module/src/Node.js +1 -1
  21. package/dist/module/src/PM/main.js +182 -79
  22. package/dist/module/src/PM/node.js +32 -6
  23. package/dist/module/src/PM/web.js +28 -51
  24. package/dist/module/src/Project.js +0 -3
  25. package/dist/module/src/Puppeteer.js +9 -51
  26. package/dist/module/src/SubPackages/react-dom/jsx/web.js +10 -10
  27. package/dist/module/src/Web.js +1 -1
  28. package/dist/module/src/esbuildConfigs/featuresPlugin.js +34 -0
  29. package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +62 -41
  30. package/dist/module/src/esbuildConfigs/node.js +10 -3
  31. package/dist/module/src/esbuildConfigs/web.js +6 -2
  32. package/dist/module/src/lib/abstractBase.js +343 -335
  33. package/dist/module/src/lib/basebuilder.js +7 -3
  34. package/dist/module/src/lib/core.js +1 -1
  35. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  36. package/dist/prebuild/Puppeteer.mjs +82033 -0
  37. package/dist/types/src/Node.d.ts +5 -1
  38. package/dist/types/src/PM/index.d.ts +10 -4
  39. package/dist/types/src/PM/main.d.ts +21 -9
  40. package/dist/types/src/PM/node.d.ts +11 -3
  41. package/dist/types/src/PM/web.d.ts +11 -2
  42. package/dist/types/src/SubPackages/react-dom/jsx/index.d.ts +1 -0
  43. package/dist/types/src/SubPackages/react-test-renderer/jsx/index.d.ts +1 -0
  44. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/index.d.ts +1 -0
  45. package/dist/types/src/Types.d.ts +2 -2
  46. package/dist/types/src/Web.d.ts +5 -1
  47. package/dist/types/src/esbuildConfigs/featuresPlugin.d.ts +5 -0
  48. package/dist/types/src/esbuildConfigs/inputFilesPlugin.d.ts +4 -2
  49. package/dist/types/src/lib/abstractBase.d.ts +5 -5
  50. package/dist/types/src/lib/types.d.ts +7 -5
  51. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  52. package/package.json +18 -41
  53. package/pupBuild.js +18 -0
  54. package/src/Node.ts +1 -3
  55. package/src/PM/index.ts +12 -3
  56. package/src/PM/main.ts +300 -164
  57. package/src/PM/node.ts +40 -6
  58. package/src/PM/web.ts +108 -58
  59. package/src/Project.ts +0 -8
  60. package/src/Puppeteer.ts +11 -57
  61. package/src/SubPackages/react-dom/jsx/web.ts +15 -10
  62. package/src/Types.ts +5 -2
  63. package/src/Web.ts +1 -1
  64. package/src/esbuildConfigs/featuresPlugin.ts +43 -0
  65. package/src/esbuildConfigs/inputFilesPlugin.ts +98 -66
  66. package/src/esbuildConfigs/node.ts +18 -3
  67. package/src/esbuildConfigs/web.ts +14 -2
  68. package/src/lib/abstractBase.ts +381 -364
  69. package/src/lib/basebuilder.ts +7 -7
  70. package/src/lib/core.ts +1 -1
  71. package/src/lib/types.ts +13 -5
@@ -15,12 +15,12 @@ class BaseSuite {
15
15
  .flat()
16
16
  .filter((value, index, array) => {
17
17
  return array.indexOf(value) === index;
18
- })
19
- .reduce((mm, lm) => {
20
- mm[lm] = lm;
21
- return mm;
22
- }, {});
23
- return features;
18
+ });
19
+ // .reduce((mm, lm) => {
20
+ // mm[lm] = lm;
21
+ // return mm;
22
+ // }, {});
23
+ return features || [];
24
24
  }
25
25
  toObj() {
26
26
  const givens = Object.keys(this.givens).map((k) => this.givens[k].toObj());
@@ -51,56 +51,66 @@ class BaseSuite {
51
51
  for (const [gNdx, g] of Object.entries(this.givens)) {
52
52
  const beforeAllProxy = new Proxy(pm, {
53
53
  get(target, prop, receiver) {
54
+ if (prop === "customScreenShot") {
55
+ return (opts) => target.customScreenShot(Object.assign(Object.assign({}, opts), {
56
+ // path: `${filepath}/${opts.path}`,
57
+ path: `suite-${sNdx}/beforeAll/${opts.path}` }));
58
+ }
54
59
  if (prop === "writeFileSync") {
55
60
  return (fp, contents) => target[prop](`suite-${sNdx}/beforeAll/${fp}`, contents);
56
61
  }
57
- if (prop === "browser") {
58
- return new Proxy(target[prop], {
59
- get(bTarget, bProp, bReceiver) {
60
- if (bProp === "pages") {
61
- return async () => {
62
- return bTarget.pages().then((pages) => {
63
- return pages.map((page) => {
64
- return new Proxy(page, {
65
- get(pTarget, pProp, pReciever) {
66
- if (pProp === "screenshot") {
67
- return async (x) => {
68
- return pm.customScreenShot(Object.assign(Object.assign({}, x), { path: `${testResourceConfiguration.fs}/suite-${sNdx}/beforeAll` +
69
- "/" +
70
- x.path }), page);
71
- // return await window["custom-screenshot"]({
72
- // ...x,
73
- // path:
74
- // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
75
- // "/" +
76
- // x.path,
77
- // });
78
- };
79
- }
80
- else if (pProp === "mainFrame") {
81
- return () => pTarget[pProp]();
82
- }
83
- else if (pProp === "close") {
84
- return () => pTarget[pProp]();
85
- }
86
- // else if (pProp === "mainFrame") {
87
- // return () => target[pProp](...arguments);
88
- // }
89
- else {
90
- return Reflect.get(...arguments);
91
- }
92
- },
93
- });
94
- });
95
- });
96
- // return (await target.pages()).map((page) => {
97
- // return new Proxy(page, handler2);
98
- // });
99
- };
100
- }
101
- },
102
- });
103
- }
62
+ // if (prop === "browser") {
63
+ // return new Proxy(target[prop], {
64
+ // get(bTarget, bProp, bReceiver) {
65
+ // if (bProp === "pages") {
66
+ // return async () => {
67
+ // return bTarget.pages().then((pages) => {
68
+ // return pages.map((page) => {
69
+ // return new Proxy(page, {
70
+ // get(pTarget, pProp, pReciever) {
71
+ // if (pProp === "screenshot") {
72
+ // return async (x) => {
73
+ // return pm.customScreenShot(
74
+ // {
75
+ // ...x,
76
+ // path:
77
+ // `${testResourceConfiguration.fs}/suite-${sNdx}/beforeAll` +
78
+ // "/" +
79
+ // x.path,
80
+ // },
81
+ // page
82
+ // );
83
+ // // return await window["custom-screenshot"]({
84
+ // // ...x,
85
+ // // path:
86
+ // // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
87
+ // // "/" +
88
+ // // x.path,
89
+ // // });
90
+ // };
91
+ // } else if (pProp === "mainFrame") {
92
+ // return () => pTarget[pProp]();
93
+ // } else if (pProp === "close") {
94
+ // return () => pTarget[pProp]();
95
+ // }
96
+ // // else if (pProp === "mainFrame") {
97
+ // // return () => target[pProp](...arguments);
98
+ // // }
99
+ // else {
100
+ // return Reflect.get(...arguments);
101
+ // }
102
+ // },
103
+ // });
104
+ // });
105
+ // });
106
+ // // return (await target.pages()).map((page) => {
107
+ // // return new Proxy(page, handler2);
108
+ // // });
109
+ // };
110
+ // }
111
+ // },
112
+ // });
113
+ // }
104
114
  return Reflect.get(...arguments);
105
115
  },
106
116
  });
@@ -115,64 +125,68 @@ class BaseSuite {
115
125
  // return this;
116
126
  }
117
127
  }
118
- const afterAllProxy = new Proxy(pm, {
119
- get(target, prop, receiver) {
120
- if (prop === "writeFileSync") {
121
- return (fp, contents) => target[prop](`suite-${sNdx}/afterAll/${fp}`, contents);
122
- }
123
- if (prop === "browser") {
124
- return new Proxy(target[prop], {
125
- get(bTarget, bProp, bReceiver) {
126
- if (bProp === "pages") {
127
- return async () => {
128
- return bTarget.pages().then((pages) => {
129
- return pages.map((page) => {
130
- return new Proxy(page, {
131
- get(pTarget, pProp, pReciever) {
132
- if (pProp === "screenshot") {
133
- return async (x) => {
134
- return pm.customScreenShot(Object.assign(Object.assign({}, x), { path: `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
135
- "/" +
136
- x.path }));
137
- // return await window["custom-screenshot"]({
138
- // ...x,
139
- // path:
140
- // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
141
- // "/" +
142
- // x.path,
143
- // });
144
- };
145
- }
146
- else if (pProp === "mainFrame") {
147
- return () => pTarget[pProp]();
148
- }
149
- else if (pProp === "close") {
150
- return () => pTarget[pProp]();
151
- }
152
- // else if (pProp === "mainFrame") {
153
- // return () => target[pProp](...arguments);
154
- // }
155
- else {
156
- return Reflect.get(...arguments);
157
- }
158
- },
159
- });
160
- });
161
- });
162
- // return (await target.pages()).map((page) => {
163
- // return new Proxy(page, handler2);
164
- // });
165
- };
166
- }
167
- },
168
- });
169
- }
170
- return Reflect.get(...arguments);
171
- },
172
- });
173
- // pm.browser
128
+ // const afterAllProxy = new Proxy(pm, {
129
+ // get(target, prop, receiver) {
130
+ // if (prop === "writeFileSync") {
131
+ // return (fp, contents) =>
132
+ // target[prop](`suite-${sNdx}/afterAll/${fp}`, contents);
133
+ // }
134
+ // if (prop === "browser") {
135
+ // return new Proxy(target[prop], {
136
+ // get(bTarget, bProp, bReceiver) {
137
+ // if (bProp === "pages") {
138
+ // return async () => {
139
+ // return bTarget.pages().then((pages) => {
140
+ // return pages.map((page) => {
141
+ // return new Proxy(page, {
142
+ // get(pTarget, pProp, pReciever) {
143
+ // if (pProp === "screenshot") {
144
+ // return async (x) => {
145
+ // return pm.customScreenShot({
146
+ // ...x,
147
+ // path:
148
+ // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
149
+ // "/" +
150
+ // x.path,
151
+ // });
152
+ // // return await window["custom-screenshot"]({
153
+ // // ...x,
154
+ // // path:
155
+ // // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
156
+ // // "/" +
157
+ // // x.path,
158
+ // // });
159
+ // };
160
+ // } else if (pProp === "mainFrame") {
161
+ // return () => pTarget[pProp]();
162
+ // } else if (pProp === "close") {
163
+ // return () => pTarget[pProp]();
164
+ // }
165
+ // // else if (pProp === "mainFrame") {
166
+ // // return () => target[pProp](...arguments);
167
+ // // }
168
+ // else {
169
+ // return Reflect.get(...arguments);
170
+ // }
171
+ // },
172
+ // });
173
+ // });
174
+ // });
175
+ // // return (await target.pages()).map((page) => {
176
+ // // return new Proxy(page, handler2);
177
+ // // });
178
+ // };
179
+ // }
180
+ // },
181
+ // });
182
+ // }
183
+ // return Reflect.get(...arguments);
184
+ // },
185
+ // });
174
186
  try {
175
- this.afterAll(this.store, artifactory, afterAllProxy);
187
+ this.afterAll(this.store, artifactory,
188
+ // afterAllProxy
189
+ pm);
176
190
  }
177
191
  catch (e) {
178
192
  console.error(e);
@@ -241,6 +255,11 @@ class BaseGiven {
241
255
  if (prop === "writeFileSync") {
242
256
  return (fp, contents) => target[prop](`suite-${suiteNdx}/given-${key}/when/beforeEach/${fp}`, contents);
243
257
  }
258
+ if (prop === "customScreenShot") {
259
+ return (opts) => target.customScreenShot(Object.assign(Object.assign({}, opts), {
260
+ // path: `${filepath}/${opts.path}`,
261
+ path: `suite-${suiteNdx}/given-${key}/when/beforeEach/${opts.path}` }));
262
+ }
244
263
  return Reflect.get(...arguments);
245
264
  },
246
265
  });
@@ -263,89 +282,84 @@ class BaseGiven {
263
282
  }
264
283
  finally {
265
284
  try {
266
- // const afterEachProxy = new Proxy(pm, {
267
- // get(target, prop, receiver) {
268
- // if (prop === "writeFileSync") {
269
- // console.log("afterEachProxy", arguments, target[prop]);
270
- // return (fp, contents) =>
271
- // // target[prop](`${key}/andWhen/${fp}`, contents);
272
- // target[prop](`${key}/afterEach/${fp}`, contents);
273
- // }
274
- // return Reflect.get(...arguments);
275
- // },
276
- // });
277
- // await this.afterEach(this.store, key, givenArtifactory, afterEachProxy);
278
- // await this.afterEach(this.store, key, givenArtifactory, pm);
279
285
  const afterEachProxy = new Proxy(pm, {
280
286
  get(target, prop, receiver) {
281
- if (prop === "writeFileSync") {
282
- return (fp, contents) => target[prop](`suite-${suiteNdx}/given-${key}/afterAll/${fp}`, contents);
287
+ if (prop === "customScreenShot") {
288
+ return (opts) => target.customScreenShot(Object.assign(Object.assign({}, opts), { path: `suite-${suiteNdx}/given-${key}/afterEach/${opts.path}` }));
283
289
  }
284
- if (prop === "browser") {
285
- return new Proxy(target[prop], {
286
- get(bTarget, bProp, bReceiver) {
287
- if (bProp === "pages") {
288
- return async () => {
289
- return bTarget.pages().then((pages) => {
290
- return pages.map((page) => {
291
- return new Proxy(page, {
292
- get(pTarget, pProp, pReciever) {
293
- if (pProp === "screenshot") {
294
- return async (x) => {
295
- // console.log(
296
- // "custom-screenshot-MARK-afterEachProxy",
297
- // window["custom-screenshot"].toString()
298
- // );
299
- return pm.customScreenShot(Object.assign(Object.assign({}, x), { path: `${testResourceConfiguration.fs}/suite-${suiteNdx}/given-${key}/afterEach` +
300
- "/" +
301
- x.path }), page);
302
- // return await pTarget[pProp]({
303
- // ...x,
304
- // path:
305
- // `${testResourceConfiguration.fs}/suite-${suiteNdx}/given-${key}/afterEach` +
306
- // "/" +
307
- // x.path,
308
- // });
309
- };
310
- }
311
- else if (pProp === "mainFrame") {
312
- return () => pTarget[pProp]();
313
- // return target[pProp];
314
- // return Reflect.get(...arguments);
315
- }
316
- else if (pProp === "exposeFunction") {
317
- // return Reflect.get(target, prop, receiver);
318
- return (...a) => pTarget[pProp](...a);
319
- // return target[pProp];
320
- }
321
- else if (pProp === "removeExposedFunction") {
322
- // return Reflect.get(target, prop, receiver);
323
- return pTarget[pProp].bind(pTarget);
324
- // return target[pProp];
325
- }
326
- // else if (pProp === "#frameManager") {
327
- // return () => target[pProp](...arguments);
328
- // }
329
- else {
330
- return Reflect.get(...arguments);
331
- }
332
- },
333
- });
334
- });
335
- });
336
- // return (await target.pages()).map((page) => {
337
- // return new Proxy(page, handler2);
338
- // });
339
- };
340
- }
341
- },
342
- });
290
+ if (prop === "writeFileSync") {
291
+ return (fp, contents) => target[prop](`suite-${suiteNdx}/given-${key}/afterEach/${fp}`, contents);
343
292
  }
293
+ // if (prop === "browser") {
294
+ // return new Proxy(target[prop], {
295
+ // get(bTarget, bProp, bReceiver) {
296
+ // if (bProp === "pages") {
297
+ // return async () => {
298
+ // return bTarget.pages().then((pages) => {
299
+ // return pages.map((page) => {
300
+ // return new Proxy(page, {
301
+ // get(pTarget, pProp, pReciever) {
302
+ // if (pProp === "screenshot") {
303
+ // return async (x) => {
304
+ // // console.log(
305
+ // // "custom-screenshot-MARK-afterEachProxy",
306
+ // // window["custom-screenshot"].toString()
307
+ // // );
308
+ // return pm.customScreenShot(
309
+ // {
310
+ // ...x,
311
+ // path:
312
+ // `${testResourceConfiguration.fs}/suite-${suiteNdx}/given-${key}/afterEach` +
313
+ // "/" +
314
+ // x.path,
315
+ // },
316
+ // page
317
+ // );
318
+ // // return await pTarget[pProp]({
319
+ // // ...x,
320
+ // // path:
321
+ // // `${testResourceConfiguration.fs}/suite-${suiteNdx}/given-${key}/afterEach` +
322
+ // // "/" +
323
+ // // x.path,
324
+ // // });
325
+ // };
326
+ // } else if (pProp === "mainFrame") {
327
+ // return () => pTarget[pProp]();
328
+ // // return target[pProp];
329
+ // // return Reflect.get(...arguments);
330
+ // } else if (pProp === "exposeFunction") {
331
+ // // return Reflect.get(target, prop, receiver);
332
+ // return (...a) => pTarget[pProp](...a);
333
+ // // return target[pProp];
334
+ // } else if (pProp === "removeExposedFunction") {
335
+ // // return Reflect.get(target, prop, receiver);
336
+ // return pTarget[pProp].bind(pTarget);
337
+ // // return target[pProp];
338
+ // }
339
+ // // else if (pProp === "#frameManager") {
340
+ // // return () => target[pProp](...arguments);
341
+ // // }
342
+ // else {
343
+ // return Reflect.get(...arguments);
344
+ // }
345
+ // },
346
+ // });
347
+ // });
348
+ // });
349
+ // // return (await target.pages()).map((page) => {
350
+ // // return new Proxy(page, handler2);
351
+ // // });
352
+ // };
353
+ // }
354
+ // },
355
+ // });
356
+ // }
344
357
  return Reflect.get(...arguments);
345
358
  },
346
359
  });
347
- // console.log("mark5", this.store, key);
348
- await this.afterEach(this.store, key, givenArtifactory, afterEachProxy);
360
+ await this.afterEach(this.store, key, givenArtifactory,
361
+ // pm
362
+ afterEachProxy);
349
363
  }
350
364
  catch (e) {
351
365
  console.error("afterEach failed! no error will be recorded!", e);
@@ -366,104 +380,101 @@ class BaseWhen {
366
380
  error: this.error,
367
381
  };
368
382
  }
369
- async test(store, testResourceConfiguration, tLog, pm, key) {
383
+ async test(store, testResourceConfiguration, tLog, pm, filepath) {
370
384
  tLog(" When:", this.name);
371
385
  const name = this.name;
372
386
  const andWhenProxy = new Proxy(pm, {
373
- // set(obj, prop, value) {
374
- // return Reflect.set(...arguments);
375
- // // if (prop === "eyeCount" && value % 2 !== 0) {
376
- // // console.log("Monsters must have an even number of eyes");
377
- // // } else {
378
- // // return Reflect.set(...arguments);
379
- // // }
380
- // },
381
387
  get(target, prop, receiver) {
388
+ if (prop === "customScreenShot") {
389
+ return (opts) => target.customScreenShot(Object.assign(Object.assign({}, opts), { path: `${filepath}/${opts.path}` }));
390
+ }
382
391
  if (prop === "writeFileSync") {
383
- return (fp, contents) =>
384
- // target[prop](`${key}/andWhen/${fp}`, contents);
385
- target[prop](`${key}/andWhen/${fp}`, contents);
392
+ return (fp, contents) => target[prop](`${filepath}/andWhen/${fp}`, contents);
386
393
  }
387
394
  /////////////////////
388
- if (prop === "browser") {
389
- return new Proxy(target[prop], {
390
- get(bTarget, bProp, bReceiver) {
391
- if (bProp === "pages") {
392
- return async () => {
393
- return bTarget.pages().then((pages) => {
394
- return pages.map((page) => {
395
- return new Proxy(page, {
396
- get(pTarget, pProp, pReciever) {
397
- // console.log("mark get", pTarget, pProp, pReciever);
398
- if (pProp === "screenshot") {
399
- return async (x) => {
400
- return pm.customScreenShot(Object.assign(Object.assign({}, x), { path: `${testResourceConfiguration.fs}/${key}/afterEach` +
401
- "/" +
402
- x.path }), page);
403
- };
404
- }
405
- else if (pProp === "mainFrame") {
406
- return () => pTarget[pProp]();
407
- // return target[pProp];
408
- // return Reflect.get(...arguments);
409
- }
410
- else if (pProp === "exposeFunction") {
411
- // return Reflect.get(target, prop, receiver);
412
- return pTarget[pProp].bind(pTarget);
413
- // return target[pProp];
414
- }
415
- else if (pProp === "removeExposedFunction") {
416
- // return Reflect.get(target, prop, receiver);
417
- return pTarget[pProp].bind(pTarget);
418
- // return target[pProp];
419
- }
420
- else if (pProp === "click") {
421
- // console.log("mark12", arguments);
422
- // return Reflect.get(target, prop, receiver);
423
- // return pTarget[pProp].bind(pTarget);
424
- // return target[pProp];
425
- return (selector, options) => {
426
- // console.log("mark13", selector, options);
427
- // debugger;
428
- pTarget[pProp](selector, options);
429
- };
430
- }
431
- else if (pProp === "$") {
432
- return Reflect.get(...arguments);
433
- // return Reflect.get(target, prop, receiver);
434
- // return pTarget[pProp].bind(pTarget);
435
- // return target[pProp];
436
- // return pTarget[pProp].bind(pTarget);
437
- // return async (s) => {
438
- // console.log("mark17", s);
439
- // console.log("pTarget", pTarget);
440
- // console.log("pProp", pProp);
441
- // console.log("pReciever", pReciever);
442
- // // return "XXX";
443
- // // debugger;
444
- // return await pTarget[pProp](s);
445
- // };
446
- }
447
- else {
448
- return Reflect.get(...arguments);
449
- }
450
- },
451
- });
452
- });
453
- });
454
- // return (await target.pages()).map((page) => {
455
- // return new Proxy(page, handler2);
456
- // });
457
- };
458
- }
459
- },
460
- });
461
- }
395
+ // if (prop === "browser") {
396
+ // return new Proxy(target[prop], {
397
+ // get(bTarget, bProp, bReceiver) {
398
+ // if (bProp === "pages") {
399
+ // return async () => {
400
+ // return bTarget.pages().then((pages) => {
401
+ // return pages.map((page) => {
402
+ // return new Proxy(page, {
403
+ // get(pTarget, pProp, pReciever) {
404
+ // // console.log("mark get", pTarget, pProp, pReciever);
405
+ // if (pProp === "screenshot") {
406
+ // return async (x) => {
407
+ // return pm.customScreenShot(
408
+ // {
409
+ // ...x,
410
+ // path:
411
+ // `${testResourceConfiguration.fs}/${key}/afterEach` +
412
+ // "/" +
413
+ // x.path,
414
+ // },
415
+ // page
416
+ // );
417
+ // };
418
+ // } else if (pProp === "mainFrame") {
419
+ // return () => pTarget[pProp]();
420
+ // // return target[pProp];
421
+ // // return Reflect.get(...arguments);
422
+ // } else if (pProp === "exposeFunction") {
423
+ // // return Reflect.get(target, prop, receiver);
424
+ // return pTarget[pProp].bind(pTarget);
425
+ // // return target[pProp];
426
+ // } else if (pProp === "removeExposedFunction") {
427
+ // // return Reflect.get(target, prop, receiver);
428
+ // return pTarget[pProp].bind(pTarget);
429
+ // // return target[pProp];
430
+ // } else if (pProp === "click") {
431
+ // // console.log("mark12", arguments);
432
+ // // return Reflect.get(target, prop, receiver);
433
+ // // return pTarget[pProp].bind(pTarget);
434
+ // // return target[pProp];
435
+ // return (selector, options) => {
436
+ // pTarget[pProp](selector, options);
437
+ // };
438
+ // } else if (pProp === "$eval") {
439
+ // // return pTarget[pProp].bind(pTarget);
440
+ // return (selector, options) => {
441
+ // pTarget[pProp](selector, options);
442
+ // };
443
+ // } else if (pProp === "$") {
444
+ // return Reflect.get(...arguments);
445
+ // // return Reflect.get(target, prop, receiver);
446
+ // // return pTarget[pProp].bind(pTarget);
447
+ // // return target[pProp];
448
+ // // return pTarget[pProp].bind(pTarget);
449
+ // // return async (s) => {
450
+ // // console.log("mark17", s);
451
+ // // console.log("pTarget", pTarget);
452
+ // // console.log("pProp", pProp);
453
+ // // console.log("pReciever", pReciever);
454
+ // // // return "XXX";
455
+ // // // debugger;
456
+ // // return await pTarget[pProp](s);
457
+ // // };
458
+ // } else {
459
+ // return Reflect.get(...arguments);
460
+ // }
461
+ // },
462
+ // });
463
+ // });
464
+ // });
465
+ // // return (await target.pages()).map((page) => {
466
+ // // return new Proxy(page, handler2);
467
+ // // });
468
+ // };
469
+ // }
470
+ // },
471
+ // });
472
+ // }
462
473
  ///////////////////////
463
474
  return Reflect.get(...arguments);
464
475
  },
465
476
  });
466
- return this.andWhen(store, this.whenCB, testResourceConfiguration, andWhenProxy).catch((e) => {
477
+ return await this.andWhen(store, this.whenCB, testResourceConfiguration, andWhenProxy).catch((e) => {
467
478
  this.error = true;
468
479
  // throw e;
469
480
  });
@@ -498,75 +509,72 @@ class BaseThen {
498
509
  try {
499
510
  const butThenProxy = new Proxy(pm, {
500
511
  get(target, prop, receiver) {
512
+ if (prop === "customScreenShot") {
513
+ return (opts) => target.customScreenShot(Object.assign(Object.assign({}, opts), { path: `${filepath}/${opts.path}` }));
514
+ }
501
515
  if (prop === "writeFileSync") {
502
516
  return (fp, contents) => target[prop](`${filepath}/${fp}`, contents);
503
517
  }
504
- if (prop === "browser") {
505
- return new Proxy(target[prop], {
506
- get(bTarget, bProp, bReceiver) {
507
- if (bProp === "pages") {
508
- return async () => {
509
- return bTarget.pages().then((pages) => {
510
- return pages.map((page) => {
511
- return new Proxy(page, {
512
- get(pTarget, pProp, pReciever) {
513
- if (pProp === "screenshot") {
514
- return async (x) => {
515
- return pm.customScreenShot(Object.assign(Object.assign({}, x), { path: `${testResourceConfiguration.fs}/${filepath}/butThen` +
516
- "/" +
517
- x.path }), page);
518
- // return await window["custom-screenshot"]({
519
- // ...x,
520
- // path:
521
- // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
522
- // "/" +
523
- // x.path,
524
- // });
525
- };
526
- }
527
- else if (pProp === "close") {
528
- return () => pTarget[pProp]();
529
- }
530
- else if (pProp === "mainFrame") {
531
- return () => pTarget[pProp]();
532
- }
533
- else if (pProp === "exposeFunction") {
534
- // return Reflect.get(target, prop, receiver);
535
- return (...a) => pTarget[pProp](...a);
536
- // return target[pProp];
537
- }
538
- else if (pProp === "removeExposedFunction") {
539
- // return Reflect.get(target, prop, receiver);
540
- return pTarget[pProp].bind(pTarget);
541
- // return target[pProp];
542
- }
543
- else {
544
- return Reflect.get(...arguments);
545
- }
546
- },
547
- });
548
- });
549
- });
550
- // return (await target.pages()).map((page) => {
551
- // return new Proxy(page, handler2);
552
- // });
553
- };
554
- }
555
- },
556
- });
557
- }
518
+ // if (prop === "browser") {
519
+ // return new Proxy(target[prop], {
520
+ // get(bTarget, bProp, bReceiver) {
521
+ // if (bProp === "pages") {
522
+ // return async () => {
523
+ // return bTarget.pages().then((pages) => {
524
+ // return pages.map((page) => {
525
+ // return new Proxy(page, {
526
+ // get(pTarget, pProp, pReciever) {
527
+ // if (pProp === "screenshot") {
528
+ // return async (x) => {
529
+ // return pm.customScreenShot(
530
+ // {
531
+ // ...x,
532
+ // path:
533
+ // `${testResourceConfiguration.fs}/${filepath}/butThen` +
534
+ // "/" +
535
+ // x.path,
536
+ // },
537
+ // page
538
+ // );
539
+ // // return await window["custom-screenshot"]({
540
+ // // ...x,
541
+ // // path:
542
+ // // `${testResourceConfiguration.fs}/suite-${sNdx}/afterAll` +
543
+ // // "/" +
544
+ // // x.path,
545
+ // // });
546
+ // };
547
+ // } else if (pProp === "close") {
548
+ // return () => pTarget[pProp]();
549
+ // } else if (pProp === "mainFrame") {
550
+ // return () => pTarget[pProp]();
551
+ // } else if (pProp === "exposeFunction") {
552
+ // // return Reflect.get(target, prop, receiver);
553
+ // return (...a) => pTarget[pProp](...a);
554
+ // // return target[pProp];
555
+ // } else if (pProp === "removeExposedFunction") {
556
+ // // return Reflect.get(target, prop, receiver);
557
+ // return pTarget[pProp].bind(pTarget);
558
+ // // return target[pProp];
559
+ // } else {
560
+ // return Reflect.get(...arguments);
561
+ // }
562
+ // },
563
+ // });
564
+ // });
565
+ // });
566
+ // // return (await target.pages()).map((page) => {
567
+ // // return new Proxy(page, handler2);
568
+ // // });
569
+ // };
570
+ // }
571
+ // },
572
+ // });
573
+ // }
558
574
  return Reflect.get(...arguments);
559
575
  },
560
576
  });
561
- // const x = await this.butThen(
562
- // store,
563
- // this.thenCB,
564
- // testResourceConfiguration,
565
- // butThenProxy
566
- // );
567
- // return x;
568
577
  return this.butThen(store, this.thenCB, testResourceConfiguration, butThenProxy).catch((e) => {
569
- console.log("mar123");
570
578
  this.error = true;
571
579
  throw e;
572
580
  });