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.
- package/bundle.js +4 -7
- package/dist/common/src/Node.js +5 -3
- package/dist/common/src/PM/main.js +254 -126
- package/dist/common/src/PM/node.js +20 -5
- package/dist/common/src/PM/web.js +19 -4
- package/dist/common/src/SubPackages/puppeteer.js +1 -1
- package/dist/common/src/SubPackages/react/jsx/index.js +14 -6
- package/dist/common/src/SubPackages/react/jsx/node.js +2 -2
- package/dist/common/src/SubPackages/react-dom/component/web.js +13 -39
- package/dist/common/src/SubPackages/react-test-renderer/component/interface.js +2 -10
- package/dist/common/src/Web.js +25 -21
- package/dist/common/src/cli.js +439 -0
- package/dist/common/src/cli2.js +144 -0
- package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +18 -8
- package/dist/common/src/esbuildConfigs/node.js +1 -4
- package/dist/common/src/esbuildConfigs/web.js +1 -1
- package/dist/common/src/lib/abstractBase.js +31 -263
- package/dist/common/src/lib/basebuilder.js +1 -11
- package/dist/common/src/lib/classBuilder.js +1 -1
- package/dist/common/src/lib/core.js +8 -28
- package/dist/common/src/lib/types.js +1 -0
- package/dist/common/tsconfig.common.tsbuildinfo +1 -1
- package/dist/module/src/Node.js +5 -3
- package/dist/module/src/PM/main.js +254 -126
- package/dist/module/src/PM/node.js +20 -5
- package/dist/module/src/PM/web.js +19 -4
- package/dist/module/src/SubPackages/puppeteer.js +1 -1
- package/dist/module/src/SubPackages/react/jsx/index.js +14 -6
- package/dist/module/src/SubPackages/react/jsx/node.js +2 -2
- package/dist/module/src/SubPackages/react-dom/component/web.js +13 -39
- package/dist/module/src/SubPackages/react-test-renderer/component/interface.js +2 -10
- package/dist/module/src/Web.js +25 -21
- package/dist/module/src/cli.js +411 -0
- package/dist/module/src/cli2.js +116 -0
- package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +18 -8
- package/dist/module/src/esbuildConfigs/node.js +1 -4
- package/dist/module/src/esbuildConfigs/web.js +1 -1
- package/dist/module/src/lib/abstractBase.js +31 -263
- package/dist/module/src/lib/basebuilder.js +1 -11
- package/dist/module/src/lib/classBuilder.js +1 -1
- package/dist/module/src/lib/core.js +8 -28
- package/dist/module/src/lib/types.js +1 -0
- package/dist/module/tsconfig.module.tsbuildinfo +1 -1
- package/dist/prebuild/cli.mjs +1491 -0
- package/dist/prebuild/{run-tests.mjs → cli2.mjs} +223 -212
- package/dist/types/src/Node.d.ts +6 -3
- package/dist/types/src/PM/index.d.ts +10 -2
- package/dist/types/src/PM/main.d.ts +14 -7
- package/dist/types/src/PM/node.d.ts +9 -2
- package/dist/types/src/PM/web.d.ts +9 -3
- package/dist/types/src/SubPackages/puppeteer.d.ts +1 -1
- package/dist/types/src/SubPackages/react/component/node.d.ts +1 -1
- package/dist/types/src/SubPackages/react/component/web.d.ts +1 -1
- package/dist/types/src/SubPackages/react/jsx/node.d.ts +3 -3
- package/dist/types/src/SubPackages/react/jsx/web.d.ts +2 -2
- package/dist/types/src/SubPackages/react-dom/component/node.d.ts +2 -2
- package/dist/types/src/SubPackages/react-dom/component/web.d.ts +1 -1
- package/dist/types/src/SubPackages/react-dom/jsx/node.d.ts +1 -1
- package/dist/types/src/SubPackages/react-dom/jsx/web.d.ts +2 -2
- package/dist/types/src/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +2 -2
- package/dist/types/src/SubPackages/react-test-renderer/component/interface.d.ts +1 -1
- package/dist/types/src/SubPackages/react-test-renderer/component/node.d.ts +2 -2
- package/dist/types/src/SubPackages/react-test-renderer/component/web.d.ts +2 -2
- package/dist/types/src/SubPackages/react-test-renderer/fc/node.d.ts +2 -2
- package/dist/types/src/SubPackages/react-test-renderer/fc/web.d.ts +2 -2
- package/dist/types/src/SubPackages/react-test-renderer/jsx/node.d.ts +3 -2
- package/dist/types/src/SubPackages/react-test-renderer/jsx/web.d.ts +2 -2
- package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/node.d.ts +2 -2
- package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/web.d.ts +2 -2
- package/dist/types/src/Types.d.ts +60 -21
- package/dist/types/src/Web.d.ts +3 -3
- package/dist/types/src/lib/abstractBase.d.ts +6 -2
- package/dist/types/src/lib/core.d.ts +3 -3
- package/dist/types/src/lib/index.d.ts +1 -1
- package/dist/types/src/lib/types.d.ts +6 -30
- package/dist/types/tsconfig.types.tsbuildinfo +1 -1
- package/package.json +23 -20
- package/src/Node.ts +6 -3
- package/src/PM/index.ts +12 -8
- package/src/PM/main.ts +331 -165
- package/src/PM/node.ts +42 -7
- package/src/PM/web.ts +33 -5
- package/src/SubPackages/puppeteer.ts +1 -1
- package/src/SubPackages/react/jsx/index.ts +15 -7
- package/src/SubPackages/react/jsx/node.ts +18 -6
- package/src/SubPackages/react-dom/component/web.ts +28 -51
- package/src/SubPackages/react-test-renderer/component/interface.ts +4 -11
- package/src/SubPackages/react-test-renderer/jsx/node.ts +16 -1
- package/src/Types.ts +362 -114
- package/src/Web.ts +45 -23
- package/src/cli.ts +535 -0
- package/src/cli2.ts +157 -0
- package/src/esbuildConfigs/inputFilesPlugin.ts +27 -9
- package/src/esbuildConfigs/node.ts +4 -7
- package/src/esbuildConfigs/web.ts +4 -3
- package/src/lib/abstractBase.ts +84 -291
- package/src/lib/basebuilder.ts +1 -12
- package/src/lib/classBuilder.ts +2 -1
- package/src/lib/core.ts +17 -29
- package/src/lib/types.ts +5 -177
- package/dist/common/src/Aider.js +0 -143
- package/dist/common/src/Project.js +0 -225
- package/dist/common/src/Puppeteer.js +0 -113
- package/dist/common/src/build-tests.js +0 -39
- package/dist/common/src/esbuildConfigs/features.js +0 -14
- package/dist/common/src/esbuildConfigs/report.js +0 -14
- package/dist/common/src/esbuildConfigs/tests.js +0 -13
- package/dist/common/src/run-tests.js +0 -39
- package/dist/module/src/Aider.js +0 -136
- package/dist/module/src/Project.js +0 -218
- package/dist/module/src/Puppeteer.js +0 -108
- package/dist/module/src/build-tests.js +0 -11
- package/dist/module/src/esbuildConfigs/features.js +0 -12
- package/dist/module/src/esbuildConfigs/report.js +0 -14
- package/dist/module/src/esbuildConfigs/tests.js +0 -11
- package/dist/module/src/run-tests.js +0 -11
- package/dist/prebuild/build-tests.mjs +0 -552
- package/dist/types/src/Aider.d.ts +0 -1
- package/dist/types/src/Project.d.ts +0 -12
- package/dist/types/src/Puppeteer.d.ts +0 -2
- package/dist/types/src/esbuildConfigs/features.d.ts +0 -4
- package/dist/types/src/esbuildConfigs/report.d.ts +0 -0
- package/dist/types/src/esbuildConfigs/tests.d.ts +0 -4
- package/src/Aider.ts +0 -168
- package/src/Project.ts +0 -291
- package/src/Puppeteer.ts +0 -145
- package/src/build-tests.ts +0 -12
- package/src/esbuildConfigs/features.ts +0 -17
- package/src/esbuildConfigs/report.ts +0 -15
- package/src/esbuildConfigs/tests.ts +0 -14
- package/src/run-tests.ts +0 -12
- /package/dist/types/src/{build-tests.d.ts → cli.d.ts} +0 -0
- /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
|
-
|
|
12
|
-
return window["
|
|
11
|
+
waitForSelector(p, s) {
|
|
12
|
+
return window["waitForSelector"](p, s);
|
|
13
13
|
}
|
|
14
14
|
screencast(opts) {
|
|
15
|
-
|
|
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
|
-
|
|
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
|
-
|
|
23
|
-
|
|
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,
|
|
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 (
|
|
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
|
-
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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(
|
|
35
|
-
|
|
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
|
};
|
package/dist/common/src/Web.js
CHANGED
|
@@ -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;
|