testeranto 0.49.10 → 0.70.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 (250) hide show
  1. package/.nvmrc +1 -0
  2. package/README.md +92 -9
  3. package/dist/cjs-shim.js +12 -0
  4. package/dist/common/Features.js +2 -3
  5. package/dist/common/Node.js +37 -62
  6. package/dist/common/NodeWriter.js +7 -9
  7. package/dist/common/Project.js +130 -627
  8. package/dist/common/SubPackages/puppeteer.js +19 -0
  9. package/dist/common/{subPackages → SubPackages}/react/component/node.js +4 -4
  10. package/dist/common/{subPackages → SubPackages}/react/component/web.js +4 -4
  11. package/dist/common/SubPackages/react/jsx/index.js +13 -0
  12. package/dist/common/SubPackages/react/jsx/node.js +10 -0
  13. package/dist/common/SubPackages/react/jsx/web.js +10 -0
  14. package/dist/common/{subPackages → SubPackages}/react-dom/component/node.js +6 -6
  15. package/dist/common/{subPackages → SubPackages}/react-dom/component/web.js +11 -12
  16. package/dist/common/SubPackages/react-dom/jsx/node.js +39 -0
  17. package/dist/common/{subPackages → SubPackages}/react-dom/jsx/web.js +19 -20
  18. package/dist/common/{subPackages → SubPackages}/react-test-renderer/MemoExoticComponent/node.js +3 -3
  19. package/dist/common/{subPackages → SubPackages}/react-test-renderer/component/index.js +25 -15
  20. package/dist/common/{subPackages/react-test-renderer/jsx → SubPackages/react-test-renderer/component}/node.js +3 -5
  21. package/dist/common/{subPackages/react-test-renderer/jsx → SubPackages/react-test-renderer/component}/web.js +3 -5
  22. package/dist/common/{subPackages → SubPackages}/react-test-renderer/fc/node.js +4 -4
  23. package/dist/common/{subPackages → SubPackages}/react-test-renderer/fc/web.js +4 -4
  24. package/dist/common/{subPackages → SubPackages}/react-test-renderer/jsx/index.js +8 -3
  25. package/dist/common/{subPackages/react-test-renderer/jsx-promised → SubPackages/react-test-renderer/jsx}/node.js +4 -4
  26. package/dist/common/{subPackages/react → SubPackages/react-test-renderer}/jsx/web.js +4 -4
  27. package/dist/common/{subPackages → SubPackages}/react-test-renderer/jsx-promised/index.js +3 -3
  28. package/dist/common/{subPackages/react/jsx → SubPackages/react-test-renderer/jsx-promised}/node.js +2 -2
  29. package/dist/common/Types.js +2 -0
  30. package/dist/common/Web.js +49 -113
  31. package/dist/common/electron.js +256 -42
  32. package/dist/common/esbuildConfigs/features.js +14 -0
  33. package/dist/common/esbuildConfigs/index.js +20 -0
  34. package/dist/common/esbuildConfigs/node.js +37 -0
  35. package/dist/common/esbuildConfigs/report.js +13 -0
  36. package/dist/common/esbuildConfigs/tests.js +13 -0
  37. package/dist/common/esbuildConfigs/web.js +53 -0
  38. package/dist/common/lib/abstractBase.js +200 -0
  39. package/dist/common/lib/basebuilder.js +86 -0
  40. package/dist/common/lib/classBuilder.js +40 -0
  41. package/dist/common/lib/core.js +81 -0
  42. package/dist/common/lib/index.js +21 -0
  43. package/dist/common/lib/types.js +2 -0
  44. package/dist/common/preload.js +15 -24
  45. package/dist/common/puppeteerConfiger.js +24 -0
  46. package/dist/common/report.html.js +31 -0
  47. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  48. package/dist/common/web.html.js +22 -0
  49. package/dist/module/Features.js +2 -3
  50. package/dist/module/Node.js +37 -62
  51. package/dist/module/NodeWriter.js +7 -9
  52. package/dist/module/Project.js +131 -605
  53. package/dist/module/SubPackages/puppeteer.js +14 -0
  54. package/dist/module/{subPackages → SubPackages}/react/component/node.js +3 -3
  55. package/dist/module/{subPackages → SubPackages}/react/component/web.js +3 -3
  56. package/dist/module/SubPackages/react/jsx/index.js +10 -0
  57. package/dist/module/SubPackages/react/jsx/node.js +5 -0
  58. package/dist/module/SubPackages/react/jsx/web.js +5 -0
  59. package/dist/module/{subPackages → SubPackages}/react-dom/component/node.js +7 -7
  60. package/dist/module/{subPackages → SubPackages}/react-dom/component/web.js +10 -11
  61. package/dist/module/SubPackages/react-dom/jsx/node.js +31 -0
  62. package/dist/module/{subPackages → SubPackages}/react-dom/jsx/web.js +20 -21
  63. package/dist/module/{subPackages → SubPackages}/react-test-renderer/MemoExoticComponent/node.js +3 -3
  64. package/dist/module/{subPackages → SubPackages}/react-test-renderer/component/index.js +22 -15
  65. package/dist/module/{subPackages → SubPackages}/react-test-renderer/component/node.js +2 -2
  66. package/dist/module/{subPackages → SubPackages}/react-test-renderer/component/web.js +2 -2
  67. package/dist/module/{subPackages → SubPackages}/react-test-renderer/fc/node.js +3 -3
  68. package/dist/module/{subPackages → SubPackages}/react-test-renderer/fc/web.js +3 -3
  69. package/dist/module/{subPackages → SubPackages}/react-test-renderer/jsx/index.js +8 -3
  70. package/dist/module/SubPackages/react-test-renderer/jsx/node.js +5 -0
  71. package/dist/module/SubPackages/react-test-renderer/jsx/web.js +5 -0
  72. package/dist/module/{subPackages → SubPackages}/react-test-renderer/jsx-promised/index.js +3 -3
  73. package/dist/module/{subPackages/react-test-renderer/jsx → SubPackages/react-test-renderer/jsx-promised}/node.js +1 -1
  74. package/dist/module/Types.js +2 -0
  75. package/dist/module/Web.js +49 -113
  76. package/dist/module/electron.js +257 -43
  77. package/dist/module/esbuildConfigs/features.js +12 -0
  78. package/dist/module/esbuildConfigs/index.js +18 -0
  79. package/dist/module/esbuildConfigs/node.js +32 -0
  80. package/dist/module/esbuildConfigs/report.js +11 -0
  81. package/dist/module/esbuildConfigs/tests.js +11 -0
  82. package/dist/module/esbuildConfigs/web.js +48 -0
  83. package/dist/module/lib/abstractBase.js +192 -0
  84. package/dist/module/lib/basebuilder.js +82 -0
  85. package/dist/module/lib/classBuilder.js +36 -0
  86. package/dist/module/lib/core.js +78 -0
  87. package/dist/module/lib/index.js +17 -0
  88. package/dist/module/lib/types.js +1 -0
  89. package/dist/module/preload.js +12 -24
  90. package/dist/module/puppeteerConfiger.js +19 -0
  91. package/dist/module/report.html.js +29 -0
  92. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  93. package/dist/module/web.html.js +20 -0
  94. package/dist/prebuild/Report.css +10326 -0
  95. package/dist/prebuild/Report.js +37456 -0
  96. package/dist/types/Features.d.ts +5 -5
  97. package/dist/types/Node.d.ts +5 -11
  98. package/dist/types/NodeWriter.d.ts +1 -1
  99. package/dist/types/Project.d.ts +2 -28
  100. package/dist/types/SubPackages/puppeteer.d.ts +6 -0
  101. package/dist/types/SubPackages/react/component/node.d.ts +7 -0
  102. package/dist/types/SubPackages/react/component/web.d.ts +7 -0
  103. package/dist/types/SubPackages/react/jsx/index.d.ts +15 -0
  104. package/dist/types/SubPackages/react/jsx/node.d.ts +4 -0
  105. package/dist/types/SubPackages/react/jsx/web.d.ts +4 -0
  106. package/dist/types/SubPackages/react-dom/component/node.d.ts +12 -0
  107. package/dist/types/SubPackages/react-dom/component/web.d.ts +5 -0
  108. package/dist/types/SubPackages/react-dom/jsx/node.d.ts +6 -0
  109. package/dist/types/SubPackages/react-dom/jsx/web.d.ts +5 -0
  110. package/dist/types/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +5 -0
  111. package/dist/types/{subPackages → SubPackages}/react-test-renderer/component/index.d.ts +6 -6
  112. package/dist/types/{subPackages → SubPackages}/react-test-renderer/component/node.d.ts +4 -4
  113. package/dist/types/SubPackages/react-test-renderer/component/web.d.ts +4 -0
  114. package/dist/types/SubPackages/react-test-renderer/fc/node.d.ts +8 -0
  115. package/dist/types/SubPackages/react-test-renderer/fc/web.d.ts +8 -0
  116. package/dist/types/{subPackages → SubPackages}/react-test-renderer/jsx/index.d.ts +5 -4
  117. package/dist/types/SubPackages/react-test-renderer/jsx/node.d.ts +9 -0
  118. package/dist/types/SubPackages/react-test-renderer/jsx/web.d.ts +9 -0
  119. package/dist/types/{subPackages → SubPackages}/react-test-renderer/jsx-promised/index.d.ts +4 -4
  120. package/dist/types/SubPackages/react-test-renderer/jsx-promised/node.d.ts +5 -0
  121. package/dist/types/SubPackages/react-test-renderer/jsx-promised/web.d.ts +5 -0
  122. package/dist/types/Types.d.ts +49 -17
  123. package/dist/types/Web.d.ts +5 -11
  124. package/dist/types/esbuildConfigs/features.d.ts +4 -0
  125. package/dist/types/esbuildConfigs/index.d.ts +4 -0
  126. package/dist/types/esbuildConfigs/node.d.ts +4 -0
  127. package/dist/types/esbuildConfigs/report.d.ts +4 -0
  128. package/dist/types/esbuildConfigs/tests.d.ts +4 -0
  129. package/dist/types/esbuildConfigs/web.d.ts +4 -0
  130. package/dist/types/lib/abstractBase.d.ts +103 -0
  131. package/dist/types/lib/basebuilder.d.ts +25 -0
  132. package/dist/types/lib/classBuilder.d.ts +7 -0
  133. package/dist/types/lib/core.d.ts +8 -0
  134. package/dist/types/lib/index.d.ts +58 -0
  135. package/dist/types/lib/types.d.ts +70 -0
  136. package/dist/types/puppeteerConfiger.d.ts +4 -0
  137. package/dist/types/report.html.d.ts +2 -0
  138. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  139. package/dist/types/web.html.d.ts +2 -0
  140. package/electronBuild.ts +32 -0
  141. package/index.html +30 -0
  142. package/package.json +123 -87
  143. package/src/Features.ts +2 -4
  144. package/src/Node.ts +79 -155
  145. package/src/NodeWriter.ts +22 -22
  146. package/src/Project.ts +185 -783
  147. package/src/Report.tsx +30 -15
  148. package/src/SubPackages/puppeteer.ts +51 -0
  149. package/src/SubPackages/react/component/node.ts +43 -0
  150. package/src/SubPackages/react/component/web.ts +43 -0
  151. package/src/SubPackages/react/jsx/index.ts +32 -0
  152. package/src/SubPackages/react/jsx/node.ts +29 -0
  153. package/src/SubPackages/react/jsx/web.ts +30 -0
  154. package/src/{subPackages → SubPackages}/react-dom/component/node.ts +24 -44
  155. package/src/SubPackages/react-dom/component/web.ts +104 -0
  156. package/src/{subPackages → SubPackages}/react-dom/jsx/index.ts +0 -1
  157. package/src/SubPackages/react-dom/jsx/node.ts +68 -0
  158. package/src/SubPackages/react-dom/jsx/web.ts +102 -0
  159. package/src/SubPackages/react-test-renderer/MemoExoticComponent/node.ts +38 -0
  160. package/src/{subPackages → SubPackages}/react-test-renderer/component/index.ts +37 -49
  161. package/src/SubPackages/react-test-renderer/component/node.ts +16 -0
  162. package/src/SubPackages/react-test-renderer/component/web.ts +16 -0
  163. package/src/SubPackages/react-test-renderer/fc/node.ts +49 -0
  164. package/src/SubPackages/react-test-renderer/fc/web.ts +48 -0
  165. package/src/SubPackages/react-test-renderer/jsx/index.ts +49 -0
  166. package/src/SubPackages/react-test-renderer/jsx/node.ts +20 -0
  167. package/src/SubPackages/react-test-renderer/jsx/web.ts +20 -0
  168. package/src/{subPackages → SubPackages}/react-test-renderer/jsx-promised/index.ts +15 -26
  169. package/src/SubPackages/react-test-renderer/jsx-promised/node.ts +19 -0
  170. package/src/SubPackages/react-test-renderer/jsx-promised/web.ts +22 -0
  171. package/src/Types.ts +114 -17
  172. package/src/Web.ts +100 -225
  173. package/src/cjs-shim.js +12 -0
  174. package/src/electron.ts +303 -45
  175. package/src/esbuildConfigs/features.ts +17 -0
  176. package/src/esbuildConfigs/index.ts +22 -0
  177. package/src/esbuildConfigs/node.ts +60 -0
  178. package/src/esbuildConfigs/report.ts +15 -0
  179. package/src/esbuildConfigs/tests.ts +14 -0
  180. package/src/esbuildConfigs/web.ts +73 -0
  181. package/src/lib/abstractBase.ts +412 -0
  182. package/src/lib/basebuilder.ts +228 -0
  183. package/src/lib/classBuilder.ts +118 -0
  184. package/src/lib/core.ts +214 -0
  185. package/src/lib/index.ts +117 -0
  186. package/src/lib/types.ts +206 -0
  187. package/src/preload.ts +13 -27
  188. package/src/puppeteerConfiger.ts +26 -0
  189. package/src/report.html.ts +29 -0
  190. package/src/web.html.ts +20 -0
  191. package/tests/Rectangle.test.ts +189 -0
  192. package/tsconfig.json +19 -6
  193. package/tsconfig.module.json +15 -4
  194. package/tsconfig.types.json +14 -4
  195. package/yarn-error.log +3144 -0
  196. package/dist/common/core.js +0 -397
  197. package/dist/common/subPackages/react/jsx/index.js +0 -26
  198. package/dist/common/subPackages/react-dom/jsx/node.js +0 -95
  199. package/dist/common/subPackages/react-test-renderer/component/node.js +0 -8
  200. package/dist/common/subPackages/react-test-renderer/component/web.js +0 -8
  201. package/dist/module/Report.js +0 -186
  202. package/dist/module/core.js +0 -388
  203. package/dist/module/subPackages/react/jsx/index.js +0 -22
  204. package/dist/module/subPackages/react/jsx/node.js +0 -5
  205. package/dist/module/subPackages/react/jsx/web.js +0 -5
  206. package/dist/module/subPackages/react-dom/jsx/node.js +0 -87
  207. package/dist/module/subPackages/react-test-renderer/jsx/web.js +0 -5
  208. package/dist/module/subPackages/react-test-renderer/jsx-promised/node.js +0 -5
  209. package/dist/types/core.d.ts +0 -220
  210. package/dist/types/subPackages/react/component/node.d.ts +0 -12
  211. package/dist/types/subPackages/react/component/web.d.ts +0 -12
  212. package/dist/types/subPackages/react/jsx/index.d.ts +0 -15
  213. package/dist/types/subPackages/react/jsx/node.d.ts +0 -4
  214. package/dist/types/subPackages/react/jsx/web.d.ts +0 -4
  215. package/dist/types/subPackages/react-dom/component/node.d.ts +0 -14
  216. package/dist/types/subPackages/react-dom/component/web.d.ts +0 -19
  217. package/dist/types/subPackages/react-dom/jsx/node.d.ts +0 -8
  218. package/dist/types/subPackages/react-dom/jsx/web.d.ts +0 -5
  219. package/dist/types/subPackages/react-test-renderer/MemoExoticComponent/node.d.ts +0 -8
  220. package/dist/types/subPackages/react-test-renderer/component/web.d.ts +0 -9
  221. package/dist/types/subPackages/react-test-renderer/fc/node.d.ts +0 -9
  222. package/dist/types/subPackages/react-test-renderer/fc/web.d.ts +0 -9
  223. package/dist/types/subPackages/react-test-renderer/jsx/node.d.ts +0 -4
  224. package/dist/types/subPackages/react-test-renderer/jsx/web.d.ts +0 -4
  225. package/dist/types/subPackages/react-test-renderer/jsx-promised/node.d.ts +0 -4
  226. package/dist/types/subPackages/react-test-renderer/jsx-promised/web.d.ts +0 -4
  227. package/src/core.ts +0 -1399
  228. package/src/subPackages/react/component/node.ts +0 -75
  229. package/src/subPackages/react/component/web.ts +0 -80
  230. package/src/subPackages/react/jsx/index.ts +0 -64
  231. package/src/subPackages/react/jsx/node.ts +0 -29
  232. package/src/subPackages/react/jsx/web.ts +0 -29
  233. package/src/subPackages/react-dom/component/web.ts +0 -129
  234. package/src/subPackages/react-dom/jsx/node.ts +0 -145
  235. package/src/subPackages/react-dom/jsx/web.ts +0 -145
  236. package/src/subPackages/react-test-renderer/MemoExoticComponent/node.ts +0 -67
  237. package/src/subPackages/react-test-renderer/component/node.ts +0 -30
  238. package/src/subPackages/react-test-renderer/component/web.ts +0 -30
  239. package/src/subPackages/react-test-renderer/fc/node.ts +0 -77
  240. package/src/subPackages/react-test-renderer/fc/web.ts +0 -77
  241. package/src/subPackages/react-test-renderer/jsx/index.ts +0 -51
  242. package/src/subPackages/react-test-renderer/jsx/node.ts +0 -31
  243. package/src/subPackages/react-test-renderer/jsx/web.ts +0 -31
  244. package/src/subPackages/react-test-renderer/jsx-promised/node.ts +0 -31
  245. package/src/subPackages/react-test-renderer/jsx-promised/web.ts +0 -31
  246. /package/dist/common/{subPackages → SubPackages}/react-dom/jsx/index.js +0 -0
  247. /package/dist/common/{subPackages → SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
  248. /package/dist/module/{subPackages → SubPackages}/react-dom/jsx/index.js +0 -0
  249. /package/dist/module/{subPackages → SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
  250. /package/dist/types/{subPackages → SubPackages}/react-dom/jsx/index.d.ts +0 -0
@@ -1,75 +0,0 @@
1
- import React from "react";
2
-
3
- import { ITTestShape, ITestImplementation, ITestSpecification } from "../../../core";
4
- import Testeranto from "../../../Node";
5
-
6
- type IWhenShape = any;
7
- type IThenShape = any;
8
-
9
- type IInput = typeof React.Component;
10
- type ISelection = React.CElement<any, any>
11
- type IStore = React.CElement<any, any>
12
- type ISubject = React.CElement<any, any>
13
-
14
- export type IImpl<
15
- ISpec extends ITTestShape,
16
- IState
17
- > = ITestImplementation<
18
- IState,
19
- ISelection,
20
- IWhenShape,
21
- IThenShape,
22
- ISpec
23
- >
24
-
25
- export type ISpec<
26
- T extends ITTestShape
27
- > = ITestSpecification<
28
- T,
29
- ISubject,
30
- IStore,
31
- ISelection,
32
- IThenShape
33
- >;
34
-
35
- export default <
36
- ITestShape extends ITTestShape,
37
- IState
38
- >(
39
- testImplementations: ITestImplementation<
40
- IState,
41
- ISelection,
42
- IWhenShape,
43
- IThenShape,
44
- ITestShape
45
- >,
46
- testSpecifications: ISpec<ITestShape>,
47
- testInput: IInput
48
- ) => {
49
- return Testeranto<
50
- ITestShape,
51
- IInput,
52
- ISubject,
53
- IStore,
54
- ISelection,
55
- IThenShape,
56
- IWhenShape,
57
- IState
58
- >(
59
- testInput,
60
- testSpecifications,
61
- testImplementations,
62
- {
63
- beforeEach: async (
64
- ): Promise<IStore> => {
65
- return new Promise((resolve, rej) => {
66
- resolve(React.createElement(testInput, {
67
- }, []));
68
- });
69
- },
70
- andWhen: function (s: IStore, actioner): Promise<ISelection> {
71
- return actioner()(s);
72
- },
73
- },
74
- )
75
- };
@@ -1,80 +0,0 @@
1
- import React from "react";
2
-
3
- import { ITTestShape, ITestImplementation, ITestSpecification } from "../../../core";
4
- import Testeranto from "../../../Web";
5
-
6
- import { CElement } from "react";
7
-
8
- type IWhenShape = any;
9
- type IThenShape = any;
10
-
11
- type Super<T> = T extends infer U ? U : object;
12
-
13
- type IInput = typeof React.Component; //Super<React.Element>; //number; //typeof React.Component;
14
- // type IState is the props
15
- type ISelection = React.CElement<any, any>
16
- type Store = React.CElement<any, any>
17
- type Subject = React.CElement<any, any>
18
-
19
- export type IImpl<
20
- ISpec extends ITTestShape,
21
- IState
22
- > = ITestImplementation<
23
- IState,
24
- ISelection,
25
- IWhenShape,
26
- IThenShape,
27
- ISpec
28
- >
29
-
30
- export type ISpec<
31
- T extends ITTestShape
32
- > = ITestSpecification<
33
- T,
34
- Subject,
35
- Store,
36
- ISelection,
37
- IThenShape
38
- >;
39
-
40
- export default <
41
- ITestShape extends ITTestShape,
42
- IState
43
- >(
44
- testImplementations: ITestImplementation<
45
- IState,
46
- ISelection,
47
- IWhenShape,
48
- IThenShape,
49
- ITestShape
50
- >,
51
- testSpecifications: ISpec<ITestShape>,
52
- testInput: IInput
53
- ) => {
54
- return Testeranto<
55
- ITestShape,
56
- IInput,
57
- Subject,
58
- Store,
59
- ISelection,
60
- IThenShape,
61
- IWhenShape,
62
- IState
63
- >(
64
- testInput,
65
- testSpecifications,
66
- testImplementations,
67
- {
68
- beforeEach: async (
69
- ): Promise<Store> => {
70
- return new Promise((resolve, rej) => {
71
- resolve(React.createElement(testInput, {
72
- }, []));
73
- });
74
- },
75
- andWhen: function (s: Store, actioner): Promise<ISelection> {
76
- return actioner()(s);
77
- },
78
- },
79
- )
80
- };
@@ -1,64 +0,0 @@
1
- import { CElement, useEffect, useRef } from "react";
2
- import React from "react";
3
-
4
- import { ITTestShape, ITestImplementation, ITestSpecification } from "../../../core";
5
-
6
- export type IWhenShape = any;
7
- export type IThenShape = any;
8
- export type InitialState = unknown;
9
- export type IInput = () => JSX.Element;
10
- export type ISelection = CElement<any, any>
11
- export type IStore = CElement<any, any>
12
- export type ISubject = CElement<any, any>
13
-
14
- export type ITestImpl<
15
- ITestShape extends ITTestShape
16
- > = ITestImplementation<
17
- InitialState,
18
- ISelection,
19
- IWhenShape,
20
- IThenShape,
21
- ITestShape
22
- >
23
-
24
- export type ITestSpec<
25
- ITestShape extends ITTestShape
26
- > = ITestSpecification<
27
- ITestShape,
28
- ISubject,
29
- IStore,
30
- ISelection,
31
- IThenShape
32
- >
33
-
34
- // const TesterantoComponent = (testInput) => (props) => {
35
- // const myContainer = useRef(null);
36
-
37
- // useEffect(() => {
38
- // console.log(
39
- // "useeffectCalled"
40
- // );
41
-
42
- // props.done(myContainer.current);
43
- // }, []);
44
-
45
- // return React.createElement('div', { ref: myContainer }, testInput()); //testInput();
46
- // };
47
-
48
- export const testInterface = (testInput) => {
49
- return {
50
- beforeEach: async (
51
- x,
52
- ndx,
53
- testRsource,
54
- artificer
55
- ): Promise<IStore> => {
56
- return new Promise((resolve, rej) => {
57
- resolve(testInput())
58
- });
59
- },
60
- andWhen: function (s: IStore, actioner): Promise<ISelection> {
61
- return actioner()(s);
62
- },
63
- }
64
- }
@@ -1,29 +0,0 @@
1
- import Testeranto from "../../../Node";
2
-
3
- import { ITTestShape } from "../../../core";
4
-
5
- import {
6
- ITestImpl, ITestSpec, IInput, ISubject, IStore, ISelection, IThenShape, IWhenShape, InitialState, testInterface
7
- } from ".";
8
-
9
- export default <ITestShape extends ITTestShape>(
10
- testImplementations: ITestImpl<ITestShape>,
11
- testSpecifications: ITestSpec<ITestShape>,
12
- testInput: IInput
13
- ) => {
14
- return Testeranto<
15
- ITestShape,
16
- IInput,
17
- ISubject,
18
- IStore,
19
- ISelection,
20
- IThenShape,
21
- IWhenShape,
22
- InitialState
23
- >(
24
- testInput,
25
- testSpecifications,
26
- testImplementations,
27
- testInterface(testInput),
28
- )
29
- };
@@ -1,29 +0,0 @@
1
- import Testeranto from "../../../Web";
2
-
3
- import { ITTestShape } from "../../../core";
4
-
5
- import {
6
- ITestImpl, ITestSpec, IInput, ISubject, IStore, ISelection, IThenShape, IWhenShape, InitialState, testInterface
7
- } from ".";
8
-
9
- export default <ITestShape extends ITTestShape>(
10
- testImplementations: ITestImpl<ITestShape>,
11
- testSpecifications: ITestSpec<ITestShape>,
12
- testInput: IInput
13
- ) => {
14
- return Testeranto<
15
- ITestShape,
16
- IInput,
17
- ISubject,
18
- IStore,
19
- ISelection,
20
- IThenShape,
21
- IWhenShape,
22
- InitialState
23
- >(
24
- testInput,
25
- testSpecifications,
26
- testImplementations,
27
- testInterface(testInput),
28
- )
29
- };
@@ -1,129 +0,0 @@
1
- import React, { CElement, createElement } from "react";
2
- import ReactDom from "react-dom/client";
3
-
4
- import { ITTestShape, ITestImplementation, ITestSpecification } from "../../../core";
5
- import Testeranto from "../../../Web";
6
-
7
- type IInput = typeof React.Component;
8
- type InitialState = unknown;
9
- type IWhenShape = any;
10
- type IThenShape = any;
11
- type ISelection = {
12
- htmlElement: HTMLElement,
13
- reactElement: CElement<any, any>,
14
- };
15
-
16
- type IStore = {
17
- htmlElement: HTMLElement,
18
- reactElement: CElement<any, any>,
19
- };
20
-
21
- type ISubject = {
22
- htmlElement: HTMLElement
23
- };
24
-
25
- export default <ITestShape extends ITTestShape>(
26
- testImplementations: ITestImplementation<
27
- InitialState,
28
- ISelection,
29
- IWhenShape,
30
- IThenShape,
31
- ITestShape
32
- >,
33
- testSpecifications: ITestSpecification<
34
- ITestShape,
35
- ISubject,
36
- IStore,
37
- ISelection,
38
- IThenShape
39
- >,
40
- testInput: IInput
41
- ) => {
42
-
43
- document.addEventListener("DOMContentLoaded", function () {
44
- console.log("DOMContentLoaded")
45
- const elem = document.getElementById("root");
46
- if (elem) {
47
- class TesterantoComponent extends testInput {
48
- done: (t: TesterantoComponent) => void;
49
- constructor(props) {
50
- super(props);
51
- this.done = props.done;
52
- }
53
- componentDidMount() {
54
- super.componentDidMount && super.componentDidMount();
55
- return this.done(this);
56
- }
57
- }
58
-
59
- return Testeranto<
60
- ITestShape,
61
- IInput,
62
- ISubject,
63
- IStore,
64
- ISelection,
65
- IThenShape,
66
- IWhenShape,
67
- InitialState
68
- >(
69
- testInput,
70
- testSpecifications,
71
- testImplementations,
72
- {
73
- beforeAll: async (
74
- prototype,
75
- artificer
76
- ): Promise<ISubject> => {
77
- return await new Promise((resolve, rej) => {
78
- const elem = document.getElementById("root");
79
- if (elem) {
80
- resolve({ htmlElement: elem });
81
- }
82
-
83
- })
84
- },
85
- beforeEach: async (
86
- { htmlElement },
87
- ndx,
88
- testRsource,
89
- artificer
90
- ): Promise<IStore> => {
91
- return new Promise((resolve, rej) => {
92
- // Ignore these type errors
93
- ReactDom.createRoot(htmlElement).render(createElement(
94
- TesterantoComponent, {
95
- done: (reactElement) => {
96
- resolve(
97
- {
98
- htmlElement,
99
- reactElement,
100
- }
101
- );
102
- }
103
- }, []
104
- ));
105
- });
106
- },
107
- andWhen: function (s: IStore, actioner): Promise<ISelection> {
108
- return actioner()(s);
109
- },
110
- butThen: async function (s: IStore): Promise<ISelection> {
111
- return s;
112
- },
113
- afterEach: async function (
114
- store: IStore,
115
- ndx,
116
- artificer
117
- ) {
118
- return {};
119
- },
120
- afterAll: (store: IStore, artificer) => {
121
- return;
122
- },
123
- },
124
- )
125
- }
126
- });
127
-
128
-
129
- };
@@ -1,145 +0,0 @@
1
- import Testeranto from "../../../Node";
2
-
3
- import React, { ReactNode, createElement } from "react";
4
- import { renderToStaticMarkup, renderToStaticNodeStream } from "react-dom/server";
5
- import Stream from 'stream'
6
-
7
- import { ITTestShape, ITestImplementation, ITestSpecification } from "../../../core";
8
- import {
9
- IInput, ISelection, IStore,
10
- // ISubject,
11
- IThenShape, IWhenShape, IState
12
- } from ".";
13
-
14
- type ISubject = void;
15
- export {
16
- renderToStaticMarkup, renderToStaticNodeStream, Stream
17
- }
18
-
19
- export default <ITestShape extends ITTestShape>(
20
- testImplementations: ITestImplementation<
21
- IState,
22
- ISelection,
23
- IWhenShape,
24
- IThenShape,
25
- ITestShape
26
- >,
27
- testSpecifications: ITestSpecification<
28
- ITestShape,
29
- ISubject,
30
- IStore,
31
- ISelection,
32
- IThenShape
33
- >,
34
- testInput: IInput
35
- ) => {
36
- return Testeranto<
37
- ITestShape,
38
- IInput,
39
- ISubject,
40
- IStore,
41
- ISelection,
42
- IThenShape,
43
- IWhenShape,
44
- IState
45
- >(
46
- testInput,
47
- testSpecifications,
48
- testImplementations,
49
- {
50
- beforeAll: async (
51
- prototype,
52
- artificer
53
- ): Promise<ISubject> => {
54
- return await new Promise((resolve, rej) => {
55
- resolve();
56
- })
57
- },
58
- beforeEach: async (
59
- reactComponent,
60
- ndx,
61
- testRsource,
62
- artificer
63
- ): Promise<IStore> => {
64
- return new Promise((resolve, rej) => {
65
- // Ignore these type errors
66
- resolve(createElement(testInput));
67
- });
68
- },
69
- andWhen: async function (s: IStore, actioner): Promise<ISelection> {
70
- // return actioner()(s);
71
- return s
72
- },
73
- butThen: async function (s: IStore): Promise<ISelection> {
74
- return s;
75
- },
76
- afterEach: async function (
77
- store: IStore,
78
- ndx,
79
- artificer
80
- ) {
81
- return {};
82
- },
83
- afterAll: (store: IStore, artificer) => {
84
- return;
85
- },
86
- },
87
- )
88
- };
89
-
90
-
91
- // type IInput = typeof React.Component;
92
- // type InitialState = unknown;
93
- // type IWhenShape = any;
94
- // type IThenShape = any;
95
- // type ISelection = string;
96
- // type IStore = string;
97
- // type ISubject = string
98
-
99
- // export default <ITestShape extends ITTestShape>(
100
- // testImplementations: ITestImplementation<
101
- // InitialState,
102
- // ISelection,
103
- // IWhenShape,
104
- // IThenShape,
105
- // ITestShape
106
- // >,
107
- // testSpecifications: ITestSpecification<
108
- // ITestShape,
109
- // ISubject,
110
- // IStore,
111
- // ISelection,
112
- // IThenShape
113
- // >,
114
- // testInput: IInput
115
- // ) => {
116
- // return Testeranto<
117
- // ITestShape,
118
- // IInput,
119
- // ISubject,
120
- // IStore,
121
- // ISelection,
122
- // IThenShape,
123
- // IWhenShape,
124
- // InitialState
125
- // >(
126
- // testInput,
127
- // testSpecifications,
128
- // testImplementations,
129
- // {
130
- // beforeEach: async (
131
- // element,
132
- // ndx,
133
- // testResource,
134
- // artificer
135
- // ): Promise<IStore> => {
136
- // return new Promise((resolve, rej) => {
137
- // resolve(ReactDOMServer.renderToStaticMarkup(element));
138
- // });
139
- // },
140
- // andWhen: function (s: IStore, actioner): Promise<ISelection> {
141
- // throw new Error(`"andWhens" are not permitted`);
142
- // }
143
- // },
144
- // )
145
- // };
@@ -1,145 +0,0 @@
1
- import Testeranto from "../../../Web";
2
-
3
- import React, {
4
- useEffect, useRef,
5
- } from "react";
6
- import ReactDom from "react-dom/client";
7
- import { createPortal } from 'react-dom';
8
-
9
- import { ITTestShape, ITestImplementation, ITestSpecification } from "../../../core";
10
- import {
11
- IInput, ISelection, IStore,
12
- IThenShape, IWhenShape, IState
13
- } from ".";
14
-
15
- export type ISubject = HTMLElement;
16
-
17
- export default <
18
- ITestShape extends ITTestShape,
19
- IProps
20
- >(
21
- testImplementations: ITestImplementation<
22
- IState,
23
- ISelection,
24
- IWhenShape,
25
- IThenShape,
26
- ITestShape
27
- >,
28
- testSpecifications: ITestSpecification<
29
- ITestShape,
30
- // [HTMLElement, IProps], // ISubject,
31
- ISubject,
32
- IStore,
33
- ISelection,
34
- IThenShape
35
- >,
36
- testInput: IInput
37
- ) => {
38
- document.addEventListener("DOMContentLoaded", function () {
39
- console.log("DOMContentLoaded");
40
- const rootElement = document.getElementById("root");
41
- if (rootElement) {
42
-
43
- const TesterantoComponent = function ({ done, innerComp }: { done: (ref: React.MutableRefObject<any>) => any, innerComp: IInput }) {
44
- const myContainer = useRef<any>(null);
45
- useEffect(() => {
46
- console.log(
47
- "useEffect called", myContainer.current
48
- );
49
-
50
- // if (!myContainer.current) {
51
- // // do componentDidMount logic
52
- // myContainer.current = true;
53
- // } else {
54
- // // do componentDidUpdate logic
55
- // }
56
-
57
- done(myContainer.current);
58
- }, []);
59
-
60
- return React.createElement(
61
- 'div',
62
- { ref: myContainer },
63
- innerComp()
64
- );
65
- };
66
-
67
- Testeranto<
68
- ITestShape,
69
- IInput,
70
- // [HTMLElement, IProps], // ISubject,
71
- ISubject,
72
- IStore,
73
- ISelection,
74
- IThenShape,
75
- IWhenShape,
76
- IState
77
- >(
78
- testInput,
79
- testSpecifications,
80
- testImplementations,
81
- {
82
- beforeAll: async (
83
- input,
84
- artificer
85
- ): Promise<HTMLElement> => {
86
- console.log("beforeAll", input);
87
- return await new Promise((resolve, rej) => {
88
- resolve(rootElement);
89
- })
90
- },
91
-
92
- beforeEach: async (
93
- subject,
94
- ndx,
95
- testRsource,
96
- artificer
97
- ): Promise<IStore> => {
98
- return new Promise((resolve, rej) => {
99
-
100
- console.log("beforeEach", subject);
101
-
102
- createPortal(
103
- TesterantoComponent({
104
- innerComp: testInput,
105
- done: (reactElement: any) => {
106
- process.nextTick(() => {
107
- resolve(reactElement)// do something
108
- })
109
- }
110
- }
111
- ,
112
- ),
113
- rootElement
114
- );
115
- });
116
- },
117
- andWhen: function (s: IStore, actioner): Promise<ISelection> {
118
- return new Promise((resolve, rej) => {
119
- process.nextTick(() => { resolve(actioner()(s)) })
120
- });
121
- },
122
- butThen: async function (s: IStore): Promise<ISelection> {
123
- return new Promise((resolve, rej) => {
124
- process.nextTick(() => { resolve(s) })
125
- });
126
- },
127
- afterEach: async function (
128
- store: IStore,
129
- ndx,
130
- artificer
131
- ) {
132
- return new Promise((resolve, rej) => {
133
- process.nextTick(() => { resolve({}) })
134
- });
135
- },
136
- afterAll: (store: IStore, artificer) => {
137
- return new Promise((resolve, rej) => {
138
- process.nextTick(() => { resolve({}) })
139
- });
140
- },
141
- },
142
- )
143
- }
144
- });
145
- };