testeranto 0.94.0 → 0.100.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 (103) hide show
  1. package/bundle.js +4 -7
  2. package/dist/common/src/PM/main.js +160 -42
  3. package/dist/common/src/PM/node.js +20 -5
  4. package/dist/common/src/PM/web.js +19 -4
  5. package/dist/common/src/SubPackages/react/jsx/node.js +1 -6
  6. package/dist/common/src/cli.js +439 -0
  7. package/dist/common/src/cli2.js +144 -0
  8. package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +18 -6
  9. package/dist/common/src/esbuildConfigs/node.js +1 -4
  10. package/dist/common/src/esbuildConfigs/web.js +1 -1
  11. package/dist/common/src/lib/abstractBase.js +14 -91
  12. package/dist/common/src/lib/types.js +1 -0
  13. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  14. package/dist/module/src/PM/main.js +160 -42
  15. package/dist/module/src/PM/node.js +20 -5
  16. package/dist/module/src/PM/web.js +19 -4
  17. package/dist/module/src/SubPackages/react/jsx/node.js +1 -6
  18. package/dist/module/src/cli.js +411 -0
  19. package/dist/module/src/cli2.js +116 -0
  20. package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +18 -6
  21. package/dist/module/src/esbuildConfigs/node.js +1 -4
  22. package/dist/module/src/esbuildConfigs/web.js +1 -1
  23. package/dist/module/src/lib/abstractBase.js +14 -91
  24. package/dist/module/src/lib/types.js +1 -0
  25. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  26. package/dist/prebuild/cli.mjs +1491 -0
  27. package/dist/prebuild/{run-tests.mjs → cli2.mjs} +203 -156
  28. package/dist/types/src/Node.d.ts +2 -2
  29. package/dist/types/src/PM/index.d.ts +10 -2
  30. package/dist/types/src/PM/main.d.ts +13 -7
  31. package/dist/types/src/PM/node.d.ts +9 -2
  32. package/dist/types/src/PM/web.d.ts +9 -3
  33. package/dist/types/src/SubPackages/puppeteer.d.ts +1 -1
  34. package/dist/types/src/SubPackages/react/component/node.d.ts +1 -1
  35. package/dist/types/src/SubPackages/react/component/web.d.ts +1 -1
  36. package/dist/types/src/SubPackages/react/jsx/node.d.ts +3 -3
  37. package/dist/types/src/SubPackages/react/jsx/web.d.ts +2 -2
  38. package/dist/types/src/SubPackages/react-dom/component/node.d.ts +2 -2
  39. package/dist/types/src/SubPackages/react-dom/component/web.d.ts +1 -1
  40. package/dist/types/src/SubPackages/react-dom/jsx/node.d.ts +1 -1
  41. package/dist/types/src/SubPackages/react-dom/jsx/web.d.ts +2 -2
  42. package/dist/types/src/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +2 -2
  43. package/dist/types/src/SubPackages/react-test-renderer/component/node.d.ts +2 -2
  44. package/dist/types/src/SubPackages/react-test-renderer/component/web.d.ts +2 -2
  45. package/dist/types/src/SubPackages/react-test-renderer/fc/node.d.ts +2 -2
  46. package/dist/types/src/SubPackages/react-test-renderer/fc/web.d.ts +2 -2
  47. package/dist/types/src/SubPackages/react-test-renderer/jsx/node.d.ts +3 -2
  48. package/dist/types/src/SubPackages/react-test-renderer/jsx/web.d.ts +2 -2
  49. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/node.d.ts +2 -2
  50. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/web.d.ts +2 -2
  51. package/dist/types/src/Types.d.ts +60 -21
  52. package/dist/types/src/Web.d.ts +2 -2
  53. package/dist/types/src/lib/index.d.ts +1 -1
  54. package/dist/types/src/lib/types.d.ts +2 -30
  55. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  56. package/package.json +11 -8
  57. package/src/PM/index.ts +12 -8
  58. package/src/PM/main.ts +218 -62
  59. package/src/PM/node.ts +42 -7
  60. package/src/PM/web.ts +33 -5
  61. package/src/SubPackages/react/jsx/node.ts +16 -5
  62. package/src/SubPackages/react-test-renderer/jsx/node.ts +16 -1
  63. package/src/Types.ts +362 -114
  64. package/src/cli.ts +535 -0
  65. package/src/cli2.ts +157 -0
  66. package/src/esbuildConfigs/inputFilesPlugin.ts +27 -6
  67. package/src/esbuildConfigs/node.ts +4 -7
  68. package/src/esbuildConfigs/web.ts +4 -3
  69. package/src/lib/abstractBase.ts +58 -115
  70. package/src/lib/types.ts +3 -177
  71. package/dist/common/src/Aider.js +0 -143
  72. package/dist/common/src/Project.js +0 -227
  73. package/dist/common/src/Puppeteer.js +0 -111
  74. package/dist/common/src/build-tests.js +0 -39
  75. package/dist/common/src/esbuildConfigs/features.js +0 -14
  76. package/dist/common/src/esbuildConfigs/report.js +0 -14
  77. package/dist/common/src/esbuildConfigs/tests.js +0 -13
  78. package/dist/common/src/run-tests.js +0 -39
  79. package/dist/module/src/Aider.js +0 -136
  80. package/dist/module/src/Project.js +0 -220
  81. package/dist/module/src/Puppeteer.js +0 -106
  82. package/dist/module/src/build-tests.js +0 -11
  83. package/dist/module/src/esbuildConfigs/features.js +0 -12
  84. package/dist/module/src/esbuildConfigs/report.js +0 -14
  85. package/dist/module/src/esbuildConfigs/tests.js +0 -11
  86. package/dist/module/src/run-tests.js +0 -11
  87. package/dist/prebuild/build-tests.mjs +0 -553
  88. package/dist/types/src/Aider.d.ts +0 -1
  89. package/dist/types/src/Project.d.ts +0 -12
  90. package/dist/types/src/Puppeteer.d.ts +0 -2
  91. package/dist/types/src/esbuildConfigs/features.d.ts +0 -4
  92. package/dist/types/src/esbuildConfigs/report.d.ts +0 -0
  93. package/dist/types/src/esbuildConfigs/tests.d.ts +0 -4
  94. package/src/Aider.ts +0 -168
  95. package/src/Project.ts +0 -292
  96. package/src/Puppeteer.ts +0 -143
  97. package/src/build-tests.ts +0 -12
  98. package/src/esbuildConfigs/features.ts +0 -17
  99. package/src/esbuildConfigs/report.ts +0 -15
  100. package/src/esbuildConfigs/tests.ts +0 -14
  101. package/src/run-tests.ts +0 -12
  102. /package/dist/types/src/{build-tests.d.ts → cli.d.ts} +0 -0
  103. /package/dist/types/src/{run-tests.d.ts → cli2.d.ts} +0 -0
package/bundle.js CHANGED
@@ -18,13 +18,11 @@ await esbuild.build({
18
18
  })
19
19
 
20
20
  await esbuild.build({
21
- entryPoints: ['src/build-tests.ts'],
21
+ entryPoints: ['src/cli.ts'],
22
22
  bundle: true,
23
23
  format: "esm",
24
24
  platform: "node",
25
- // format: "node",
26
- outfile: 'dist/prebuild/build-tests.mjs',
27
- // external: ['crypto', 'os'],
25
+ outfile: 'dist/prebuild/cli.mjs',
28
26
  packages: "external",
29
27
  supported: {
30
28
  "dynamic-import": true,
@@ -36,12 +34,11 @@ await esbuild.build({
36
34
  })
37
35
 
38
36
  await esbuild.build({
39
- entryPoints: ['src/run-tests.ts'],
37
+ entryPoints: ['src/cli2.ts'],
40
38
  bundle: true,
41
39
  format: "esm",
42
40
  platform: "node",
43
- // format: "node",
44
- outfile: 'dist/prebuild/run-tests.mjs',
41
+ outfile: 'dist/prebuild/cli2.mjs',
45
42
  packages: "external",
46
43
  supported: {
47
44
  "dynamic-import": true,
@@ -32,11 +32,22 @@ const path_1 = __importDefault(require("path"));
32
32
  const puppeteer_core_1 = __importDefault(require("puppeteer-core"));
33
33
  const crypto_1 = __importDefault(require("crypto"));
34
34
  const index_js_1 = require("./index.js");
35
- const utils_js_1 = require("../utils.js");
36
35
  const fileStreams3 = [];
37
36
  const fPaths = [];
38
37
  const files = {};
38
+ const recorders = {};
39
39
  const screenshots = {};
40
+ const red = "\x1b[31m";
41
+ const green = "\x1b[32m";
42
+ const reset = "\x1b[0m"; // Resets to default color
43
+ const statusMessagePretty = (failures, test) => {
44
+ if (failures === 0) {
45
+ console.log(green + `${test} completed successfully` + reset);
46
+ }
47
+ else {
48
+ console.log(red + `${test} failed ${failures} times` + reset);
49
+ }
50
+ };
40
51
  class PM_Main extends index_js_1.PM {
41
52
  constructor(configs) {
42
53
  super();
@@ -62,7 +73,7 @@ class PM_Main extends index_js_1.PM {
62
73
  }
63
74
  };
64
75
  this.launchNode = async (src, dest) => {
65
- console.log("launchNode", src);
76
+ console.log("! node", src);
66
77
  this.register(src);
67
78
  const destFolder = dest.replace(".mjs", "");
68
79
  let argz = "";
@@ -109,25 +120,36 @@ class PM_Main extends index_js_1.PM {
109
120
  console.error("negative port makes no sense", src);
110
121
  process.exit(-1);
111
122
  }
112
- const builtfile = dest + ".mjs";
123
+ const builtfile = dest;
113
124
  const webSideCares = [];
114
- await Promise.all(testConfig[3].map(async (sidecar) => {
115
- if (sidecar[1] === "web") {
116
- const s = await this.launchWebSideCar(sidecar[0], (0, utils_js_1.destinationOfRuntime)(sidecar[0], "web", this.configs), sidecar);
117
- webSideCares.push(s);
118
- return s;
119
- }
120
- if (sidecar[1] === "node") {
121
- return this.launchNodeSideCar(sidecar[0], (0, utils_js_1.destinationOfRuntime)(sidecar[0], "node", this.configs), sidecar);
122
- }
123
- }));
125
+ // await Promise.all(
126
+ // testConfig[3].map(async (sidecar) => {
127
+ // if (sidecar[1] === "web") {
128
+ // const s = await this.launchWebSideCar(
129
+ // sidecar[0],
130
+ // destinationOfRuntime(sidecar[0], "web", this.configs),
131
+ // sidecar
132
+ // );
133
+ // webSideCares.push(s);
134
+ // return s;
135
+ // }
136
+ // if (sidecar[1] === "node") {
137
+ // return this.launchNodeSideCar(
138
+ // sidecar[0],
139
+ // destinationOfRuntime(sidecar[0], "node", this.configs),
140
+ // sidecar
141
+ // );
142
+ // }
143
+ // })
144
+ // );
124
145
  this.server[builtfile] = await Promise.resolve().then(() => __importStar(require(`${builtfile}?cacheBust=${Date.now()}`))).then((module) => {
125
146
  return module.default.then((defaultModule) => {
126
147
  defaultModule
127
148
  .receiveTestResourceConfig(argz)
128
149
  .then(async ({ features, failed }) => {
129
- this.receiveFeatures(features, destFolder);
130
- console.log(`${src} completed with ${failed} errors`);
150
+ this.receiveFeatures(features, destFolder, src);
151
+ // console.log(`${src} completed with ${failed} errors`);
152
+ statusMessagePretty(failed, src);
131
153
  })
132
154
  .catch((e) => {
133
155
  console.log(`${src} errored with`, e);
@@ -323,14 +345,18 @@ class PM_Main extends index_js_1.PM {
323
345
  }
324
346
  }
325
347
  };
326
- this.launchWeb = (t, dest, sidecars) => {
327
- console.log("launchWeb", t, dest);
348
+ this.launchWeb = (t, dest) => {
349
+ console.log("! web", t);
328
350
  this.register(t);
329
- sidecars.map((sidecar) => {
330
- if (sidecar[1] === "node") {
331
- return this.launchNodeSideCar(sidecar[0], (0, utils_js_1.destinationOfRuntime)(sidecar[0], "node", this.configs), sidecar);
332
- }
333
- });
351
+ // sidecars.map((sidecar) => {
352
+ // if (sidecar[1] === "node") {
353
+ // return this.launchNodeSideCar(
354
+ // sidecar[0],
355
+ // destinationOfRuntime(sidecar[0], "node", this.configs),
356
+ // sidecar
357
+ // );
358
+ // }
359
+ // });
334
360
  const destFolder = dest.replace(".mjs", "");
335
361
  const webArgz = JSON.stringify({
336
362
  name: dest,
@@ -338,9 +364,10 @@ class PM_Main extends index_js_1.PM {
338
364
  fs: destFolder,
339
365
  browserWSEndpoint: this.browser.wsEndpoint(),
340
366
  });
367
+ const d = `${dest}?cacheBust=${Date.now()}`;
341
368
  const evaluation = `
342
- console.log("importing ${dest}.mjs");
343
- import('${dest}.mjs').then(async (x) => {
369
+ console.log("importing ${d}");
370
+ import('${d}').then(async (x) => {
344
371
  console.log("imported", (await x.default));
345
372
  try {
346
373
  return await (await x.default).receiveTestResourceConfig(${webArgz})
@@ -350,8 +377,8 @@ class PM_Main extends index_js_1.PM {
350
377
  })`;
351
378
  const fileStreams2 = [];
352
379
  const doneFileStream2 = [];
353
- const stdoutStream = fs_1.default.createWriteStream(`${dest}/stdout.log`);
354
- const stderrStream = fs_1.default.createWriteStream(`${dest}/stderr.log`);
380
+ const stdoutStream = fs_1.default.createWriteStream(`${destFolder}/stdout.log`);
381
+ const stderrStream = fs_1.default.createWriteStream(`${destFolder}/stderr.log`);
355
382
  this.browser
356
383
  .newPage()
357
384
  .then((page) => {
@@ -515,7 +542,7 @@ class PM_Main extends index_js_1.PM {
515
542
  files[t] = new Set();
516
543
  }
517
544
  // files[t].add(filepath);
518
- fs_1.default.writeFileSync(dest + "/manifest.json", JSON.stringify(Array.from(files[t])));
545
+ fs_1.default.writeFileSync(destFolder + "/manifest.json", JSON.stringify(Array.from(files[t])));
519
546
  delete files[t];
520
547
  Promise.all(screenshots[t] || []).then(() => {
521
548
  delete screenshots[t];
@@ -550,12 +577,13 @@ class PM_Main extends index_js_1.PM {
550
577
  stdoutStream.write(JSON.stringify(log.location()));
551
578
  stdoutStream.write(JSON.stringify(log.stackTrace()));
552
579
  });
553
- await page.goto(`file://${`${dest}.html`}`, {});
580
+ await page.goto(`file://${`${destFolder}.html`}`, {});
554
581
  await page
555
582
  .evaluate(evaluation)
556
583
  .then(async ({ failed, features }) => {
557
- this.receiveFeatures(features, destFolder);
558
- console.log(`${t} completed with ${failed} errors`);
584
+ this.receiveFeatures(features, destFolder, t);
585
+ // console.log(`${t} completed with ${failed} errors`);
586
+ statusMessagePretty(failed, t);
559
587
  })
560
588
  .catch((e) => {
561
589
  console.log(`${t} errored with`, e);
@@ -566,7 +594,8 @@ class PM_Main extends index_js_1.PM {
566
594
  return page;
567
595
  });
568
596
  };
569
- this.receiveFeatures = (features, destFolder) => {
597
+ this.receiveFeatures = (features, destFolder, srcTest) => {
598
+ const featureDestination = path_1.default.resolve(process.cwd(), "docs", "features", "strings", srcTest.split(".").slice(0, -1).join(".") + ".features.txt");
570
599
  features
571
600
  .reduce(async (mm, featureStringKey) => {
572
601
  const accum = await mm;
@@ -593,24 +622,33 @@ class PM_Main extends index_js_1.PM {
593
622
  // console.log("Symlink created successfully");
594
623
  }
595
624
  });
596
- accum.push(newPath);
625
+ accum.files.push(newPath);
597
626
  }
598
627
  else if (u.protocol === "http:" || u.protocol === "https:") {
599
628
  const newPath = `${process.cwd()}/docs/features/external${u.hostname}${u.pathname}`;
600
629
  const body = await this.configs.featureIngestor(featureStringKey);
601
630
  writeFileAndCreateDir(newPath, body);
602
- accum.push(newPath);
631
+ accum.files.push(newPath);
603
632
  }
604
633
  }
605
634
  else {
606
- const newPath = `${process.cwd()}/docs/features/plain/${await sha256(featureStringKey)}`;
607
- writeFileAndCreateDir(newPath, featureStringKey);
608
- accum.push(newPath);
635
+ await fs_1.default.promises.mkdir(path_1.default.dirname(featureDestination), {
636
+ recursive: true,
637
+ });
638
+ // const newPath = `${process.cwd()}/docs/features/plain/${await sha256(
639
+ // featureStringKey
640
+ // )}`;
641
+ // writeFileAndCreateDir(
642
+ // `${featureDestination}/${await sha256(featureStringKey)}`,
643
+ // featureStringKey
644
+ // );
645
+ accum.strings.push(featureStringKey);
609
646
  }
610
647
  return accum;
611
- }, Promise.resolve([]))
612
- .then((features) => {
613
- fs_1.default.writeFileSync(`${destFolder}/featurePrompt.txt`, features
648
+ }, Promise.resolve({ files: [], strings: [] }))
649
+ .then(({ files, strings }) => {
650
+ // writeFileAndCreateDir(`${featureDestination}`, JSON.stringify(strings));
651
+ fs_1.default.writeFileSync(`${destFolder}/featurePrompt.txt`, files
614
652
  .map((f) => {
615
653
  return `/read ${f}`;
616
654
  })
@@ -624,6 +662,33 @@ class PM_Main extends index_js_1.PM {
624
662
  this.configs.ports.forEach((element) => {
625
663
  this.ports[element] = "true"; // set ports as open
626
664
  });
665
+ globalThis["waitForSelector"] = async (pageKey, sel) => {
666
+ console.log("waitForSelector", pageKey, sel);
667
+ const page = (await this.browser.pages()).find((p) => p.mainFrame()._id === pageKey);
668
+ await (page === null || page === void 0 ? void 0 : page.waitForSelector(sel));
669
+ };
670
+ globalThis["screencastStop"] = async (path) => {
671
+ return recorders[path].stop();
672
+ };
673
+ globalThis["closePage"] = async (pageKey) => {
674
+ const page = (await this.browser.pages()).find((p) => p.mainFrame()._id === pageKey);
675
+ return page.close();
676
+ };
677
+ // globalThis["closePage"] = (p) => {
678
+ // console.log("closePage", p);
679
+ // return p.close();
680
+ // };
681
+ globalThis["goto"] = async (pageKey, url) => {
682
+ const page = (await this.browser.pages()).find((p) => p.mainFrame()._id === pageKey);
683
+ await (page === null || page === void 0 ? void 0 : page.goto(url));
684
+ return;
685
+ };
686
+ globalThis["newPage"] = () => {
687
+ return this.browser.newPage();
688
+ };
689
+ globalThis["pages"] = () => {
690
+ return this.browser.pages();
691
+ };
627
692
  globalThis["mkdirSync"] = (fp) => {
628
693
  if (!fs_1.default.existsSync(fp)) {
629
694
  return fs_1.default.mkdirSync(fp, {
@@ -663,7 +728,31 @@ class PM_Main extends index_js_1.PM {
663
728
  globalThis["end"] = (uid) => {
664
729
  fileStreams3[uid].end();
665
730
  };
666
- globalThis["customScreenShot"] = async (opts, page) => {
731
+ // async (ssOpts: ScreenshotOptions, testName: string) => {
732
+ // const p = ssOpts.path as string;
733
+ // const dir = path.dirname(p);
734
+ // fs.mkdirSync(dir, {
735
+ // recursive: true,
736
+ // });
737
+ // if (!files[testName]) {
738
+ // files[testName] = new Set();
739
+ // }
740
+ // files[testName].add(ssOpts.path as string);
741
+ // const sPromise = page.screenshot({
742
+ // ...ssOpts,
743
+ // path: p,
744
+ // });
745
+ // if (!screenshots[testName]) {
746
+ // screenshots[testName] = [];
747
+ // }
748
+ // screenshots[testName].push(sPromise);
749
+ // // sPromise.then(())
750
+ // await sPromise;
751
+ // return sPromise;
752
+ // // page.evaluate(`window["screenshot done"]`);
753
+ // };
754
+ globalThis["customScreenShot"] = async (opts, pageKey, testName) => {
755
+ const page = (await this.browser.pages()).find((p) => p.mainFrame()._id === pageKey);
667
756
  const p = opts.path;
668
757
  const dir = path_1.default.dirname(p);
669
758
  fs_1.default.mkdirSync(dir, {
@@ -681,6 +770,17 @@ class PM_Main extends index_js_1.PM {
681
770
  await sPromise;
682
771
  return sPromise;
683
772
  };
773
+ globalThis["screencast"] = async (opts, pageKey) => {
774
+ const page = (await this.browser.pages()).find((p) => p.mainFrame()._id === pageKey);
775
+ const p = opts.path;
776
+ const dir = path_1.default.dirname(p);
777
+ fs_1.default.mkdirSync(dir, {
778
+ recursive: true,
779
+ });
780
+ const recorder = await (page === null || page === void 0 ? void 0 : page.screencast(Object.assign(Object.assign({}, opts), { path: p })));
781
+ recorders[opts.path] = recorder;
782
+ return opts.path;
783
+ };
684
784
  // globalThis["customclose"] = (p: string, testName: string) => {
685
785
  // if (!files[testName]) {
686
786
  // files[testName] = new Set();
@@ -692,13 +792,28 @@ class PM_Main extends index_js_1.PM {
692
792
  // delete files[testName];
693
793
  // };
694
794
  }
795
+ customclose() {
796
+ throw new Error("Method not implemented.");
797
+ }
798
+ waitForSelector(p, s) {
799
+ throw new Error("Method not implemented.");
800
+ }
801
+ closePage(p) {
802
+ throw new Error("Method not implemented.");
803
+ }
804
+ newPage() {
805
+ throw new Error("Method not implemented.");
806
+ }
807
+ goto(p, url) {
808
+ throw new Error("Method not implemented.");
809
+ }
695
810
  $(selector) {
696
811
  throw new Error("Method not implemented.");
697
812
  }
698
813
  screencast(opts) {
699
814
  throw new Error("Method not implemented.");
700
815
  }
701
- customScreenShot(opts) {
816
+ customScreenShot(opts, cdpPage) {
702
817
  throw new Error("Method not implemented.");
703
818
  }
704
819
  end(accessObject) {
@@ -783,6 +898,9 @@ class PM_Main extends index_js_1.PM {
783
898
  isDisabled(selector) {
784
899
  throw new Error("Method not implemented.");
785
900
  }
901
+ screencastStop(s) {
902
+ throw new Error("Method not implemented.");
903
+ }
786
904
  ////////////////////////////////////////////////////////////////////////////////
787
905
  async startPuppeteer(options, destfolder) {
788
906
  this.browser = (await puppeteer_core_1.default.launch(options));
@@ -799,7 +917,7 @@ async function writeFileAndCreateDir(filePath, data) {
799
917
  const dirPath = path_1.default.dirname(filePath);
800
918
  try {
801
919
  await fs_1.default.promises.mkdir(dirPath, { recursive: true });
802
- await fs_1.default.promises.writeFile(filePath, data);
920
+ await fs_1.default.appendFileSync(filePath, data);
803
921
  }
804
922
  catch (error) {
805
923
  console.error(`Error writing file: ${error}`);
@@ -14,10 +14,19 @@ class PM_Node extends index_js_1.PM {
14
14
  this.server = {};
15
15
  this.testResourceConfiguration = t;
16
16
  }
17
- $(selector) {
18
- throw new Error("Method not implemented.");
17
+ waitForSelector(p, s) {
18
+ return globalThis["waitForSelector"](p, s);
19
+ }
20
+ closePage(p) {
21
+ return globalThis["closePage"](p);
22
+ }
23
+ goto(cdpPage, url) {
24
+ return globalThis["goto"](cdpPage.mainFrame()._id, url);
19
25
  }
20
- screencast(opts) {
26
+ newPage() {
27
+ return globalThis["newPage"]();
28
+ }
29
+ $(selector) {
21
30
  throw new Error("Method not implemented.");
22
31
  }
23
32
  isDisabled(selector) {
@@ -41,8 +50,14 @@ class PM_Node extends index_js_1.PM {
41
50
  click(selector) {
42
51
  return globalThis["click"](selector);
43
52
  }
44
- customScreenShot(opts) {
45
- return globalThis["customScreenShot"](opts);
53
+ screencast(opts, page) {
54
+ return globalThis["screencast"](Object.assign(Object.assign({}, opts), { path: this.testResourceConfiguration.fs + "/" + opts.path }), page.mainFrame()._id, this.testResourceConfiguration.name);
55
+ }
56
+ screencastStop(p) {
57
+ return globalThis["screencastStop"](p);
58
+ }
59
+ customScreenShot(opts, cdpPage) {
60
+ return globalThis["customScreenShot"](Object.assign(Object.assign({}, opts), { path: this.testResourceConfiguration.fs + "/" + opts.path }), cdpPage.mainFrame()._id, this.testResourceConfiguration.name);
46
61
  }
47
62
  existsSync(destFolder) {
48
63
  return globalThis["existsSync"](this.testResourceConfiguration.fs + "/" + destFolder);
@@ -8,11 +8,26 @@ class PM_Web extends index_js_1.PM {
8
8
  this.server = {};
9
9
  this.testResourceConfiguration = t;
10
10
  }
11
- $(selector) {
12
- return window["$"](selector);
11
+ waitForSelector(p, s) {
12
+ return window["waitForSelector"](p, s);
13
13
  }
14
14
  screencast(opts) {
15
- throw new Error("Method not implemented.");
15
+ return window["screencast"](Object.assign(Object.assign({}, opts), { path: this.testResourceConfiguration.fs + "/" + opts.path }), this.testResourceConfiguration.name);
16
+ }
17
+ screencastStop(recorder) {
18
+ return window["screencastStop"](recorder);
19
+ }
20
+ closePage(p) {
21
+ return window["closePage"](p);
22
+ }
23
+ goto(p, url) {
24
+ return window["goto"](p, url);
25
+ }
26
+ newPage() {
27
+ return window["newPage"]();
28
+ }
29
+ $(selector) {
30
+ return window["$"](selector);
16
31
  }
17
32
  isDisabled(selector) {
18
33
  return window["isDisabled"](selector);
@@ -41,7 +56,7 @@ class PM_Web extends index_js_1.PM {
41
56
  existsSync(destFolder) {
42
57
  return window["existsSync"](destFolder);
43
58
  }
44
- mkdirSync() {
59
+ mkdirSync(x) {
45
60
  return window["mkdirSync"](this.testResourceConfiguration.fs + "/");
46
61
  }
47
62
  write(writeObject, contents) {
@@ -6,10 +6,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Node_js_1 = __importDefault(require("../../../Node.js"));
7
7
  const index_js_1 = require("./index.js");
8
8
  exports.default = (testImplementations, testSpecifications, testInput, testInterface = index_js_1.testInterface) => {
9
- return (0, Node_js_1.default)(testInput, testSpecifications, testImplementations, testInterface
10
- // {
11
- // ...baseInterface,
12
- // ...testInterface,
13
- // }
14
- );
9
+ return (0, Node_js_1.default)(testInput, testSpecifications, testImplementations, testInterface);
15
10
  };