testeranto 0.90.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 (133) hide show
  1. package/bundle.js +4 -7
  2. package/dist/common/src/Node.js +5 -3
  3. package/dist/common/src/PM/main.js +254 -126
  4. package/dist/common/src/PM/node.js +20 -5
  5. package/dist/common/src/PM/web.js +19 -4
  6. package/dist/common/src/SubPackages/puppeteer.js +1 -1
  7. package/dist/common/src/SubPackages/react/jsx/index.js +14 -6
  8. package/dist/common/src/SubPackages/react/jsx/node.js +2 -2
  9. package/dist/common/src/SubPackages/react-dom/component/web.js +13 -39
  10. package/dist/common/src/SubPackages/react-test-renderer/component/interface.js +2 -10
  11. package/dist/common/src/Web.js +25 -21
  12. package/dist/common/src/cli.js +439 -0
  13. package/dist/common/src/cli2.js +144 -0
  14. package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +18 -8
  15. package/dist/common/src/esbuildConfigs/node.js +1 -4
  16. package/dist/common/src/esbuildConfigs/web.js +1 -1
  17. package/dist/common/src/lib/abstractBase.js +31 -263
  18. package/dist/common/src/lib/basebuilder.js +1 -11
  19. package/dist/common/src/lib/classBuilder.js +1 -1
  20. package/dist/common/src/lib/core.js +8 -28
  21. package/dist/common/src/lib/types.js +1 -0
  22. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  23. package/dist/module/src/Node.js +5 -3
  24. package/dist/module/src/PM/main.js +254 -126
  25. package/dist/module/src/PM/node.js +20 -5
  26. package/dist/module/src/PM/web.js +19 -4
  27. package/dist/module/src/SubPackages/puppeteer.js +1 -1
  28. package/dist/module/src/SubPackages/react/jsx/index.js +14 -6
  29. package/dist/module/src/SubPackages/react/jsx/node.js +2 -2
  30. package/dist/module/src/SubPackages/react-dom/component/web.js +13 -39
  31. package/dist/module/src/SubPackages/react-test-renderer/component/interface.js +2 -10
  32. package/dist/module/src/Web.js +25 -21
  33. package/dist/module/src/cli.js +411 -0
  34. package/dist/module/src/cli2.js +116 -0
  35. package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +18 -8
  36. package/dist/module/src/esbuildConfigs/node.js +1 -4
  37. package/dist/module/src/esbuildConfigs/web.js +1 -1
  38. package/dist/module/src/lib/abstractBase.js +31 -263
  39. package/dist/module/src/lib/basebuilder.js +1 -11
  40. package/dist/module/src/lib/classBuilder.js +1 -1
  41. package/dist/module/src/lib/core.js +8 -28
  42. package/dist/module/src/lib/types.js +1 -0
  43. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  44. package/dist/prebuild/cli.mjs +1491 -0
  45. package/dist/prebuild/{run-tests.mjs → cli2.mjs} +223 -212
  46. package/dist/types/src/Node.d.ts +6 -3
  47. package/dist/types/src/PM/index.d.ts +10 -2
  48. package/dist/types/src/PM/main.d.ts +14 -7
  49. package/dist/types/src/PM/node.d.ts +9 -2
  50. package/dist/types/src/PM/web.d.ts +9 -3
  51. package/dist/types/src/SubPackages/puppeteer.d.ts +1 -1
  52. package/dist/types/src/SubPackages/react/component/node.d.ts +1 -1
  53. package/dist/types/src/SubPackages/react/component/web.d.ts +1 -1
  54. package/dist/types/src/SubPackages/react/jsx/node.d.ts +3 -3
  55. package/dist/types/src/SubPackages/react/jsx/web.d.ts +2 -2
  56. package/dist/types/src/SubPackages/react-dom/component/node.d.ts +2 -2
  57. package/dist/types/src/SubPackages/react-dom/component/web.d.ts +1 -1
  58. package/dist/types/src/SubPackages/react-dom/jsx/node.d.ts +1 -1
  59. package/dist/types/src/SubPackages/react-dom/jsx/web.d.ts +2 -2
  60. package/dist/types/src/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +2 -2
  61. package/dist/types/src/SubPackages/react-test-renderer/component/interface.d.ts +1 -1
  62. package/dist/types/src/SubPackages/react-test-renderer/component/node.d.ts +2 -2
  63. package/dist/types/src/SubPackages/react-test-renderer/component/web.d.ts +2 -2
  64. package/dist/types/src/SubPackages/react-test-renderer/fc/node.d.ts +2 -2
  65. package/dist/types/src/SubPackages/react-test-renderer/fc/web.d.ts +2 -2
  66. package/dist/types/src/SubPackages/react-test-renderer/jsx/node.d.ts +3 -2
  67. package/dist/types/src/SubPackages/react-test-renderer/jsx/web.d.ts +2 -2
  68. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/node.d.ts +2 -2
  69. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/web.d.ts +2 -2
  70. package/dist/types/src/Types.d.ts +60 -21
  71. package/dist/types/src/Web.d.ts +3 -3
  72. package/dist/types/src/lib/abstractBase.d.ts +6 -2
  73. package/dist/types/src/lib/core.d.ts +3 -3
  74. package/dist/types/src/lib/index.d.ts +1 -1
  75. package/dist/types/src/lib/types.d.ts +6 -30
  76. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  77. package/package.json +23 -20
  78. package/src/Node.ts +6 -3
  79. package/src/PM/index.ts +12 -8
  80. package/src/PM/main.ts +331 -165
  81. package/src/PM/node.ts +42 -7
  82. package/src/PM/web.ts +33 -5
  83. package/src/SubPackages/puppeteer.ts +1 -1
  84. package/src/SubPackages/react/jsx/index.ts +15 -7
  85. package/src/SubPackages/react/jsx/node.ts +18 -6
  86. package/src/SubPackages/react-dom/component/web.ts +28 -51
  87. package/src/SubPackages/react-test-renderer/component/interface.ts +4 -11
  88. package/src/SubPackages/react-test-renderer/jsx/node.ts +16 -1
  89. package/src/Types.ts +362 -114
  90. package/src/Web.ts +45 -23
  91. package/src/cli.ts +535 -0
  92. package/src/cli2.ts +157 -0
  93. package/src/esbuildConfigs/inputFilesPlugin.ts +27 -9
  94. package/src/esbuildConfigs/node.ts +4 -7
  95. package/src/esbuildConfigs/web.ts +4 -3
  96. package/src/lib/abstractBase.ts +84 -291
  97. package/src/lib/basebuilder.ts +1 -12
  98. package/src/lib/classBuilder.ts +2 -1
  99. package/src/lib/core.ts +17 -29
  100. package/src/lib/types.ts +5 -177
  101. package/dist/common/src/Aider.js +0 -143
  102. package/dist/common/src/Project.js +0 -225
  103. package/dist/common/src/Puppeteer.js +0 -113
  104. package/dist/common/src/build-tests.js +0 -39
  105. package/dist/common/src/esbuildConfigs/features.js +0 -14
  106. package/dist/common/src/esbuildConfigs/report.js +0 -14
  107. package/dist/common/src/esbuildConfigs/tests.js +0 -13
  108. package/dist/common/src/run-tests.js +0 -39
  109. package/dist/module/src/Aider.js +0 -136
  110. package/dist/module/src/Project.js +0 -218
  111. package/dist/module/src/Puppeteer.js +0 -108
  112. package/dist/module/src/build-tests.js +0 -11
  113. package/dist/module/src/esbuildConfigs/features.js +0 -12
  114. package/dist/module/src/esbuildConfigs/report.js +0 -14
  115. package/dist/module/src/esbuildConfigs/tests.js +0 -11
  116. package/dist/module/src/run-tests.js +0 -11
  117. package/dist/prebuild/build-tests.mjs +0 -552
  118. package/dist/types/src/Aider.d.ts +0 -1
  119. package/dist/types/src/Project.d.ts +0 -12
  120. package/dist/types/src/Puppeteer.d.ts +0 -2
  121. package/dist/types/src/esbuildConfigs/features.d.ts +0 -4
  122. package/dist/types/src/esbuildConfigs/report.d.ts +0 -0
  123. package/dist/types/src/esbuildConfigs/tests.d.ts +0 -4
  124. package/src/Aider.ts +0 -168
  125. package/src/Project.ts +0 -291
  126. package/src/Puppeteer.ts +0 -145
  127. package/src/build-tests.ts +0 -12
  128. package/src/esbuildConfigs/features.ts +0 -17
  129. package/src/esbuildConfigs/report.ts +0 -15
  130. package/src/esbuildConfigs/tests.ts +0 -14
  131. package/src/run-tests.ts +0 -12
  132. /package/dist/types/src/{build-tests.d.ts → cli.d.ts} +0 -0
  133. /package/dist/types/src/{run-tests.d.ts → cli2.d.ts} +0 -0
@@ -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,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const Node_js_1 = __importDefault(require("../Node.js"));
8
8
  exports.default = (testInput, testSpecifications, testImplementations, testInterface) => {
9
- return (0, Node_js_1.default)(testInput, testSpecifications, testImplementations, Object.assign({ beforeAll(x) {
9
+ return (0, Node_js_1.default)(testInput, testSpecifications, testImplementations, Object.assign({ beforeAll: (x) => {
10
10
  // process.parentPort.postMessage(
11
11
  // `/docs/web/src/ClassicalComponent/test.html`
12
12
  // );
@@ -12,14 +12,22 @@ exports.testInterface = {
12
12
  // // resolve(x());
13
13
  // // });
14
14
  // },
15
- beforeEach: async (subject, initializer, artificer) => {
15
+ // beforeEach: async (subject, initializer, artificer): Promise<IStore> => {
16
+ // return new Promise((resolve, rej) => {
17
+ // resolve(React.createElement(subject));
18
+ // });
19
+ // },
20
+ andWhen: async (s, whenCB) => {
21
+ await whenCB(s());
16
22
  return new Promise((resolve, rej) => {
17
- const x = react_1.default.createElement(subject);
18
- console.log("react-element", x);
19
- resolve(x);
23
+ resolve(react_1.default.createElement(s));
20
24
  });
25
+ // return whenCB(s);
21
26
  },
22
- andWhen: function (s, whenCB) {
23
- return whenCB(s);
27
+ butThen: async (subject, thenCB) => {
28
+ await thenCB(subject());
29
+ return new Promise((resolve, rej) => {
30
+ resolve(react_1.default.createElement(subject));
31
+ });
24
32
  },
25
33
  };
@@ -5,6 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
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
- exports.default = (testImplementations, testSpecifications, testInput, testInterface) => {
9
- return (0, Node_js_1.default)(testInput, testSpecifications, testImplementations, Object.assign(Object.assign({}, index_js_1.testInterface), testInterface));
8
+ exports.default = (testImplementations, testSpecifications, testInput, testInterface = index_js_1.testInterface) => {
9
+ return (0, Node_js_1.default)(testInput, testSpecifications, testImplementations, testInterface);
10
10
  };
@@ -18,52 +18,26 @@ exports.default = (testInput, testSpecifications, testImplementations, testInter
18
18
  }
19
19
  }
20
20
  const t = (0, Web_js_1.default)(testInput, testSpecifications, testImplementations, {
21
- beforeAll: async (initialProps, artificer) => {
21
+ beforeAll: async (subject, artificer) => {
22
22
  return await new Promise((resolve, rej) => {
23
23
  const htmlElement = document.getElementById("root");
24
24
  if (htmlElement) {
25
25
  const domRoot = client_1.default.createRoot(htmlElement);
26
- // Ignore these type errors
27
- domRoot.render((0, react_1.createElement)(TesterantoComponent, Object.assign(Object.assign({}, initialProps), { done: (reactElement) => {
28
- resolve({
29
- htmlElement,
30
- reactElement,
31
- domRoot,
32
- });
33
- } }), []));
34
- // resolve({ htmlElement });
26
+ resolve({ domRoot, htmlElement });
35
27
  }
36
28
  });
37
29
  },
38
- // beforeEach: async (
39
- // s,
40
- // initializer,
41
- // testResource,
42
- // artificer,
43
- // initialValues
44
- // ): Promise<IStore> => {
45
- // return new Promise((resolve, rej) => {
46
- // console.log("beforeEach" + TesterantoComponent);
47
- // // const domRoot = ReactDom.createRoot(htmlElement);
48
- // // // Ignore these type errors
49
- // // domRoot.render(
50
- // // createElement(
51
- // // TesterantoComponent,
52
- // // {
53
- // // ...initializer,
54
- // // done: (reactElement) => {
55
- // // resolve({
56
- // // htmlElement,
57
- // // reactElement,
58
- // // domRoot,
59
- // // });
60
- // // },
61
- // // },
62
- // // []
63
- // // )
64
- // // );
65
- // });
66
- // },
30
+ beforeEach: async ({ domRoot, htmlElement }, initialValues, testResource, artificer) => {
31
+ return new Promise(async (resolve, rej) => {
32
+ domRoot.render((0, react_1.createElement)(TesterantoComponent, Object.assign(Object.assign({}, initialValues), { done: (reactElement) => {
33
+ resolve({
34
+ htmlElement,
35
+ reactElement,
36
+ domRoot,
37
+ });
38
+ } }), []));
39
+ });
40
+ },
67
41
  andWhen: function (s, whenCB) {
68
42
  return whenCB(s);
69
43
  },
@@ -31,22 +31,17 @@ const react_1 = __importDefault(require("react"));
31
31
  const react_test_renderer_1 = __importStar(require("react-test-renderer"));
32
32
  exports.testInterface = {
33
33
  beforeEach: function (CComponent, propsAndChildren) {
34
- function Link(props) {
35
- const p = props.props;
36
- const c = props.children;
37
- return react_1.default.createElement(CComponent, p, c);
34
+ function Link(proper) {
35
+ return react_1.default.createElement(CComponent, proper(), []);
38
36
  }
39
37
  return new Promise((res, rej) => {
40
38
  (0, react_test_renderer_1.act)(async () => {
41
- const p = propsAndChildren;
42
- const y = new CComponent(p.props);
43
39
  const testRenderer = await react_test_renderer_1.default.create(Link(propsAndChildren));
44
40
  res(testRenderer);
45
41
  });
46
42
  });
47
43
  },
48
44
  andWhen: async function (renderer, whenCB) {
49
- // console.log("andWhen", whenCB)
50
45
  await (0, react_test_renderer_1.act)(() => whenCB(renderer));
51
46
  return renderer;
52
47
  },
@@ -54,15 +49,12 @@ exports.testInterface = {
54
49
  // return whenCB()(s);
55
50
  // },
56
51
  butThen: async function (s, thenCB, tr) {
57
- console.log("butThen", thenCB.toString());
58
52
  return thenCB(s);
59
53
  },
60
54
  afterEach: async function (store, ndx, artificer) {
61
- // console.log("afterEach", store);
62
55
  return {};
63
56
  },
64
57
  afterAll: (store, artificer) => {
65
- // console.log("afterAll", store);
66
58
  return;
67
59
  },
68
60
  };
@@ -7,36 +7,40 @@ exports.WebTesteranto = void 0;
7
7
  const web_1 = require("./PM/web");
8
8
  const core_js_1 = __importDefault(require("./lib/core.js"));
9
9
  const index_js_1 = require("./lib/index.js");
10
+ let errorCallback = (e) => { };
11
+ let unhandledrejectionCallback = (event) => {
12
+ console.log("window.addEventListener unhandledrejection", event);
13
+ // cb({ error: event.reason.message });
14
+ // throw event;
15
+ };
10
16
  class WebTesteranto extends core_js_1.default {
11
17
  constructor(input, testSpecification, testImplementation, testResourceRequirement, testInterface) {
12
- super(input, testSpecification, testImplementation, testResourceRequirement, testInterface);
18
+ super(input, testSpecification, testImplementation, testResourceRequirement, testInterface, (cb) => {
19
+ window.removeEventListener("error", errorCallback);
20
+ errorCallback = (e) => {
21
+ console.log("window.addEventListener error", e);
22
+ cb(e);
23
+ // throw e;
24
+ };
25
+ window.addEventListener("error", errorCallback);
26
+ window.removeEventListener("unhandledrejection", unhandledrejectionCallback);
27
+ /////////////////////
28
+ window.removeEventListener("unhandledrejection", unhandledrejectionCallback);
29
+ unhandledrejectionCallback = (event) => {
30
+ console.log("window.addEventListener unhandledrejection", event);
31
+ cb({ error: event.reason.message });
32
+ // throw event;
33
+ };
34
+ window.addEventListener("unhandledrejection", unhandledrejectionCallback);
35
+ });
13
36
  }
14
37
  async receiveTestResourceConfig(partialTestResource) {
15
38
  const t = partialTestResource; //JSON.parse(partialTestResource);
16
39
  const pm = new web_1.PM_Web(t);
17
40
  const { failed, artifacts, logPromise, features } = await this.testJobs[0].receiveTestResourceConfig(pm);
18
- pm.customclose();
19
41
  return new Promise((res, rej) => {
20
- res(features);
42
+ res({ features, failed });
21
43
  });
22
- // return features;
23
- // Promise.all([...artifacts, logPromise]).then(async () => {
24
- // console.log("hello world");
25
- // pm.customclose();
26
- // // we can't close the window becuase we might be taking a screenshot
27
- // // window.close();
28
- // // console.log(
29
- // // "(window as any).browser",
30
- // // JSON.stringify(await (window as any).browser)
31
- // // );
32
- // // var currentWindow = (await (window as any).browser).getCurrentWindow();
33
- // // window.close();
34
- // // var customWindow = window.open("", "_blank", "");
35
- // // customWindow.close();
36
- // // this.puppetMaster.browser.page
37
- // // window["customclose"]();
38
- // // console.log("goodbye", window["customclose"]());
39
- // });
40
44
  }
41
45
  }
42
46
  exports.WebTesteranto = WebTesteranto;