testeranto 0.94.0 → 0.110.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 (308) hide show
  1. package/README.md +1 -0
  2. package/bundle.js +80 -33
  3. package/dist/common/{src/Init.js → Init.js} +28 -0
  4. package/dist/common/{src/PM → PM}/main.js +272 -111
  5. package/dist/common/{src/PM → PM}/node.js +20 -5
  6. package/dist/common/{src/PM → PM}/web.js +19 -4
  7. package/dist/common/ReportServer.js +22 -0
  8. package/dist/common/{src/SubPackages → SubPackages}/react/jsx/index.js +0 -12
  9. package/dist/common/{src/SubPackages → SubPackages}/react/jsx/node.js +1 -6
  10. package/dist/common/{src/SubPackages → SubPackages}/react-dom/component/node.js +3 -16
  11. package/dist/common/{src/SubPackages → SubPackages}/react-dom/component/web.js +3 -3
  12. package/dist/common/{src/SubPackages → SubPackages}/react-dom/jsx/node.js +1 -1
  13. package/dist/common/{src/SubPackages → SubPackages}/react-dom/jsx/web.js +41 -30
  14. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/MemoExoticComponent/node.js +17 -7
  15. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/component/interface.js +17 -7
  16. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/fc/node.js +17 -7
  17. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/fc/web.js +17 -7
  18. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx/index.js +18 -14
  19. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/index.js +17 -7
  20. package/dist/common/build.js +222 -0
  21. package/dist/common/{src/defaultConfig.js → defaultConfig.js} +1 -0
  22. package/dist/common/esbuildConfigs/eslint-formatter-testeranto.js +6 -0
  23. package/dist/common/esbuildConfigs/inputFilesPlugin.js +27 -0
  24. package/dist/common/{src/esbuildConfigs → esbuildConfigs}/node.js +3 -14
  25. package/dist/common/{src/esbuildConfigs → esbuildConfigs}/web.js +3 -14
  26. package/dist/common/{src/init-docs.js → init-docs.js} +20 -10
  27. package/dist/common/{src/lib → lib}/abstractBase.js +20 -92
  28. package/dist/common/{src/lib → lib}/basebuilder.js +23 -10
  29. package/dist/common/{src/lib → lib}/classBuilder.js +1 -3
  30. package/dist/common/{src/lib → lib}/core.js +26 -10
  31. package/dist/common/{src/lib → lib}/index.js +0 -1
  32. package/dist/common/run.js +297 -0
  33. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  34. package/dist/common/utils.js +43 -0
  35. package/dist/module/Footer.js +4 -0
  36. package/dist/module/Init.js +63 -0
  37. package/dist/module/{src/PM → PM}/main.js +253 -102
  38. package/dist/module/{src/PM → PM}/node.js +20 -5
  39. package/dist/module/{src/PM → PM}/web.js +19 -4
  40. package/dist/module/ReportClient.js +97 -0
  41. package/dist/module/ReportServer.js +17 -0
  42. package/dist/module/SubPackages/react/jsx/index.js +15 -0
  43. package/dist/module/{src/SubPackages → SubPackages}/react/jsx/node.js +1 -6
  44. package/dist/module/{src/SubPackages → SubPackages}/react-dom/component/node.js +3 -16
  45. package/dist/module/{src/SubPackages → SubPackages}/react-dom/component/web.js +3 -3
  46. package/dist/module/{src/SubPackages → SubPackages}/react-dom/jsx/node.js +3 -3
  47. package/dist/module/{src/SubPackages → SubPackages}/react-dom/jsx/web.js +24 -23
  48. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx/index.js +1 -7
  49. package/dist/module/TestReport.js +91 -0
  50. package/dist/module/build.js +184 -0
  51. package/dist/module/{src/defaultConfig.js → defaultConfig.js} +1 -0
  52. package/dist/module/esbuildConfigs/eslint-formatter-testeranto.js +3 -0
  53. package/dist/module/esbuildConfigs/inputFilesPlugin.js +22 -0
  54. package/dist/module/{src/esbuildConfigs → esbuildConfigs}/node.js +3 -14
  55. package/dist/module/{src/esbuildConfigs → esbuildConfigs}/web.js +3 -14
  56. package/dist/module/{src/init-docs.js → init-docs.js} +1 -1
  57. package/dist/module/{src/lib → lib}/abstractBase.js +20 -92
  58. package/dist/module/{src/lib → lib}/basebuilder.js +23 -10
  59. package/dist/module/{src/lib → lib}/classBuilder.js +1 -3
  60. package/dist/module/{src/lib → lib}/core.js +26 -10
  61. package/dist/module/{src/lib → lib}/index.js +0 -1
  62. package/dist/module/run.js +259 -0
  63. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  64. package/dist/module/utils.js +29 -0
  65. package/dist/prebuild/ReportClient.css +11367 -0
  66. package/dist/prebuild/ReportClient.js +23641 -0
  67. package/dist/prebuild/ReportServer.mjs +16 -0
  68. package/dist/prebuild/TestReport.css +11367 -0
  69. package/dist/prebuild/TestReport.js +27484 -0
  70. package/dist/prebuild/build.mjs +376 -0
  71. package/dist/prebuild/esbuildConfigs/eslint-formatter-testeranto.mjs +9 -0
  72. package/dist/prebuild/init-docs.mjs +64 -8
  73. package/dist/prebuild/{run-tests.mjs → run.mjs} +501 -182
  74. package/dist/tsconfig.tsbuildinfo +1 -0
  75. package/dist/types/Node.d.ts +12 -0
  76. package/dist/types/{src/PM → PM}/index.d.ts +11 -3
  77. package/dist/types/{src/PM → PM}/main.d.ts +24 -15
  78. package/dist/types/{src/PM → PM}/node.d.ts +11 -6
  79. package/dist/types/{src/PM → PM}/web.d.ts +11 -7
  80. package/dist/types/SubPackages/react/component/node.d.ts +7 -0
  81. package/dist/types/SubPackages/react/component/web.d.ts +7 -0
  82. package/dist/types/SubPackages/react/jsx/index.d.ts +12 -0
  83. package/dist/types/SubPackages/react/jsx/node.d.ts +4 -0
  84. package/dist/types/SubPackages/react/jsx/web.d.ts +4 -0
  85. package/dist/types/SubPackages/react-dom/component/node.d.ts +11 -0
  86. package/dist/types/SubPackages/react-dom/component/web.d.ts +20 -0
  87. package/dist/types/SubPackages/react-dom/jsx/index.d.ts +6 -0
  88. package/dist/types/SubPackages/react-dom/jsx/node.d.ts +7 -0
  89. package/dist/types/SubPackages/react-dom/jsx/web.d.ts +5 -0
  90. package/dist/types/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +6 -0
  91. package/dist/types/SubPackages/react-test-renderer/component/index.d.ts +13 -0
  92. package/dist/types/SubPackages/react-test-renderer/component/node.d.ts +4 -0
  93. package/dist/types/SubPackages/react-test-renderer/component/web.d.ts +4 -0
  94. package/dist/types/SubPackages/react-test-renderer/fc/node.d.ts +8 -0
  95. package/dist/types/SubPackages/react-test-renderer/fc/web.d.ts +9 -0
  96. package/dist/types/SubPackages/react-test-renderer/jsx/index.d.ts +16 -0
  97. package/dist/types/SubPackages/react-test-renderer/jsx/node.d.ts +9 -0
  98. package/dist/types/SubPackages/react-test-renderer/jsx/web.d.ts +9 -0
  99. package/dist/types/SubPackages/react-test-renderer/jsx-promised/index.d.ts +15 -0
  100. package/dist/types/SubPackages/react-test-renderer/jsx-promised/node.d.ts +5 -0
  101. package/dist/types/SubPackages/react-test-renderer/jsx-promised/web.d.ts +5 -0
  102. package/dist/types/Types.d.ts +61 -0
  103. package/dist/types/Web.d.ts +9 -0
  104. package/dist/types/defaultConfig.d.ts +3 -0
  105. package/dist/types/esbuildConfigs/eslint-formatter-testeranto.d.ts +2 -0
  106. package/dist/types/{src/esbuildConfigs → esbuildConfigs}/index.d.ts +1 -1
  107. package/dist/types/{src/esbuildConfigs → esbuildConfigs}/inputFilesPlugin.d.ts +0 -1
  108. package/dist/types/{src/esbuildConfigs → esbuildConfigs}/node.d.ts +1 -1
  109. package/dist/types/{src/esbuildConfigs → esbuildConfigs}/web.d.ts +1 -1
  110. package/dist/types/lib/abstractBase.d.ts +110 -0
  111. package/dist/types/lib/basebuilder.d.ts +27 -0
  112. package/dist/types/lib/classBuilder.d.ts +7 -0
  113. package/dist/types/lib/core.d.ts +7 -0
  114. package/dist/types/lib/index.d.ts +83 -0
  115. package/dist/types/lib/types.d.ts +14 -0
  116. package/dist/types/run.d.ts +1 -0
  117. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  118. package/dist/types/utils.d.ts +9 -0
  119. package/package.json +50 -39
  120. package/src/Footer.tsx +4 -0
  121. package/src/Init.ts +48 -0
  122. package/src/Node.ts +23 -17
  123. package/src/PM/index.ts +13 -9
  124. package/src/PM/main.ts +337 -139
  125. package/src/PM/node.ts +43 -8
  126. package/src/PM/web.ts +34 -6
  127. package/src/ReportClient.tsx +155 -0
  128. package/src/ReportServer.ts +21 -0
  129. package/src/SubPackages/react/component/node.ts +68 -24
  130. package/src/SubPackages/react/component/web.ts +68 -25
  131. package/src/SubPackages/react/jsx/index.ts +39 -18
  132. package/src/SubPackages/react/jsx/node.ts +23 -10
  133. package/src/SubPackages/react/jsx/web.ts +27 -14
  134. package/src/SubPackages/react-dom/component/node.ts +42 -50
  135. package/src/SubPackages/react-dom/component/web.ts +28 -10
  136. package/src/SubPackages/react-dom/jsx/node.ts +54 -56
  137. package/src/SubPackages/react-dom/jsx/web.ts +55 -42
  138. package/src/SubPackages/react-test-renderer/MemoExoticComponent/node.ts +23 -7
  139. package/src/SubPackages/react-test-renderer/component/index.ts +38 -5
  140. package/src/SubPackages/react-test-renderer/component/node.ts +24 -5
  141. package/src/SubPackages/react-test-renderer/component/web.ts +22 -5
  142. package/src/SubPackages/react-test-renderer/fc/node.ts +41 -7
  143. package/src/SubPackages/react-test-renderer/fc/web.ts +43 -11
  144. package/src/SubPackages/react-test-renderer/jsx/index.ts +39 -16
  145. package/src/SubPackages/react-test-renderer/jsx/node.ts +22 -5
  146. package/src/SubPackages/react-test-renderer/jsx/web.ts +22 -5
  147. package/src/SubPackages/react-test-renderer/jsx-promised/index.ts +39 -6
  148. package/src/SubPackages/react-test-renderer/jsx-promised/node.ts +27 -10
  149. package/src/SubPackages/react-test-renderer/jsx-promised/web.ts +26 -12
  150. package/src/TestReport.tsx +176 -0
  151. package/src/Types.ts +131 -129
  152. package/src/Web.ts +24 -18
  153. package/src/build.ts +240 -0
  154. package/src/defaultConfig.ts +2 -1
  155. package/src/esbuildConfigs/eslint-formatter-testeranto.ts +5 -0
  156. package/src/esbuildConfigs/featuresPlugin.ts +0 -1
  157. package/src/esbuildConfigs/index.ts +1 -1
  158. package/src/esbuildConfigs/inputFilesPlugin.ts +2 -114
  159. package/src/esbuildConfigs/node.ts +7 -19
  160. package/src/esbuildConfigs/web.ts +6 -21
  161. package/src/init-docs.ts +2 -1
  162. package/src/lib/abstractBase.ts +140 -195
  163. package/src/lib/basebuilder.ts +57 -45
  164. package/src/lib/classBuilder.ts +15 -15
  165. package/src/lib/core.ts +44 -35
  166. package/src/lib/index.ts +47 -98
  167. package/src/lib/readme.md +12 -0
  168. package/src/lib/types.ts +40 -231
  169. package/src/run.ts +398 -0
  170. package/src/style.css +8 -0
  171. package/src/utils.ts +74 -2
  172. package/tsc.log +106 -0
  173. package/Bundle.Dockerfile +0 -52
  174. package/bin/init-docs.js +0 -24
  175. package/dist/common/dist/module/src/Init.js +0 -40
  176. package/dist/common/src/Aider.js +0 -143
  177. package/dist/common/src/Project.js +0 -227
  178. package/dist/common/src/Puppeteer.js +0 -111
  179. package/dist/common/src/SubPackages/puppeteer.js +0 -21
  180. package/dist/common/src/build-tests.js +0 -39
  181. package/dist/common/src/esbuildConfigs/features.js +0 -14
  182. package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +0 -87
  183. package/dist/common/src/esbuildConfigs/report.js +0 -14
  184. package/dist/common/src/esbuildConfigs/tests.js +0 -13
  185. package/dist/common/src/run-tests.js +0 -39
  186. package/dist/common/src/utils.js +0 -16
  187. package/dist/common/testeranto.js +0 -15
  188. package/dist/module/src/Aider.js +0 -136
  189. package/dist/module/src/Init.js +0 -35
  190. package/dist/module/src/Project.js +0 -220
  191. package/dist/module/src/Puppeteer.js +0 -106
  192. package/dist/module/src/SubPackages/puppeteer.js +0 -16
  193. package/dist/module/src/SubPackages/react/jsx/index.js +0 -27
  194. package/dist/module/src/build-tests.js +0 -11
  195. package/dist/module/src/esbuildConfigs/features.js +0 -12
  196. package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +0 -82
  197. package/dist/module/src/esbuildConfigs/report.js +0 -14
  198. package/dist/module/src/esbuildConfigs/tests.js +0 -11
  199. package/dist/module/src/run-tests.js +0 -11
  200. package/dist/module/src/utils.js +0 -9
  201. package/dist/module/testeranto.js +0 -13
  202. package/dist/prebuild/build-tests.mjs +0 -553
  203. package/dist/types/dist/module/src/Init.d.ts +0 -2
  204. package/dist/types/src/Aider.d.ts +0 -1
  205. package/dist/types/src/Node.d.ts +0 -13
  206. package/dist/types/src/Project.d.ts +0 -12
  207. package/dist/types/src/Puppeteer.d.ts +0 -2
  208. package/dist/types/src/SubPackages/puppeteer.d.ts +0 -6
  209. package/dist/types/src/SubPackages/react/component/node.d.ts +0 -7
  210. package/dist/types/src/SubPackages/react/component/web.d.ts +0 -7
  211. package/dist/types/src/SubPackages/react/jsx/index.d.ts +0 -12
  212. package/dist/types/src/SubPackages/react/jsx/node.d.ts +0 -4
  213. package/dist/types/src/SubPackages/react/jsx/web.d.ts +0 -4
  214. package/dist/types/src/SubPackages/react-dom/component/node.d.ts +0 -12
  215. package/dist/types/src/SubPackages/react-dom/component/web.d.ts +0 -11
  216. package/dist/types/src/SubPackages/react-dom/jsx/index.d.ts +0 -7
  217. package/dist/types/src/SubPackages/react-dom/jsx/node.d.ts +0 -6
  218. package/dist/types/src/SubPackages/react-dom/jsx/web.d.ts +0 -5
  219. package/dist/types/src/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +0 -5
  220. package/dist/types/src/SubPackages/react-test-renderer/component/index.d.ts +0 -13
  221. package/dist/types/src/SubPackages/react-test-renderer/component/node.d.ts +0 -8
  222. package/dist/types/src/SubPackages/react-test-renderer/component/web.d.ts +0 -3
  223. package/dist/types/src/SubPackages/react-test-renderer/fc/node.d.ts +0 -8
  224. package/dist/types/src/SubPackages/react-test-renderer/fc/web.d.ts +0 -8
  225. package/dist/types/src/SubPackages/react-test-renderer/jsx/index.d.ts +0 -17
  226. package/dist/types/src/SubPackages/react-test-renderer/jsx/node.d.ts +0 -8
  227. package/dist/types/src/SubPackages/react-test-renderer/jsx/web.d.ts +0 -8
  228. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/index.d.ts +0 -16
  229. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/node.d.ts +0 -4
  230. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/web.d.ts +0 -4
  231. package/dist/types/src/Types.d.ts +0 -51
  232. package/dist/types/src/Web.d.ts +0 -10
  233. package/dist/types/src/defaultConfig.d.ts +0 -3
  234. package/dist/types/src/esbuildConfigs/features.d.ts +0 -4
  235. package/dist/types/src/esbuildConfigs/report.d.ts +0 -0
  236. package/dist/types/src/esbuildConfigs/tests.d.ts +0 -4
  237. package/dist/types/src/lib/abstractBase.d.ts +0 -110
  238. package/dist/types/src/lib/basebuilder.d.ts +0 -27
  239. package/dist/types/src/lib/classBuilder.d.ts +0 -7
  240. package/dist/types/src/lib/core.d.ts +0 -8
  241. package/dist/types/src/lib/index.d.ts +0 -60
  242. package/dist/types/src/lib/types.d.ts +0 -68
  243. package/dist/types/src/utils.d.ts +0 -2
  244. package/dist/types/testeranto.d.ts +0 -16
  245. package/docker-compose.yml +0 -37
  246. package/src/Aider.ts +0 -168
  247. package/src/Project.ts +0 -292
  248. package/src/Puppeteer.ts +0 -143
  249. package/src/SubPackages/puppeteer.ts +0 -51
  250. package/src/build-tests.ts +0 -12
  251. package/src/esbuildConfigs/features.ts +0 -17
  252. package/src/esbuildConfigs/report.ts +0 -15
  253. package/src/esbuildConfigs/tests.ts +0 -14
  254. package/src/run-tests.ts +0 -12
  255. package/testeranto.ts +0 -13
  256. package/dist/common/{src/Node.js → Node.js} +0 -0
  257. package/dist/common/{src/PM → PM}/index.js +0 -0
  258. package/dist/common/{src/SubPackages → SubPackages}/react/component/node.js +0 -0
  259. package/dist/common/{src/SubPackages → SubPackages}/react/component/web.js +0 -0
  260. package/dist/common/{src/SubPackages → SubPackages}/react/jsx/web.js +0 -0
  261. package/dist/common/{src/SubPackages → SubPackages}/react-dom/jsx/index.js +0 -0
  262. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/component/index.js +0 -0
  263. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/component/node.js +0 -0
  264. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/component/web.js +0 -0
  265. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx/node.js +0 -0
  266. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx/web.js +0 -0
  267. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/node.js +1 -1
  268. package/dist/common/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
  269. package/dist/common/{src/Types.js → Types.js} +0 -0
  270. package/dist/common/{src/Web.js → Web.js} +0 -0
  271. package/dist/common/{src/esbuildConfigs → esbuildConfigs}/featuresPlugin.js +0 -0
  272. package/dist/common/{src/esbuildConfigs → esbuildConfigs}/index.js +0 -0
  273. package/dist/common/{src/lib → lib}/types.js +0 -0
  274. package/dist/common/{src/puppeteerConfiger.js → puppeteerConfiger.js} +0 -0
  275. package/dist/common/{src/web.html.js → web.html.js} +0 -0
  276. package/dist/module/{src/Node.js → Node.js} +0 -0
  277. package/dist/module/{src/PM → PM}/index.js +0 -0
  278. package/dist/module/{src/SubPackages → SubPackages}/react/component/node.js +0 -0
  279. package/dist/module/{src/SubPackages → SubPackages}/react/component/web.js +0 -0
  280. package/dist/module/{src/SubPackages → SubPackages}/react/jsx/web.js +0 -0
  281. package/dist/module/{src/SubPackages → SubPackages}/react-dom/jsx/index.js +0 -0
  282. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/MemoExoticComponent/node.js +0 -0
  283. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/component/index.js +0 -0
  284. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/component/interface.js +0 -0
  285. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/component/node.js +0 -0
  286. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/component/web.js +0 -0
  287. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/fc/node.js +0 -0
  288. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/fc/web.js +0 -0
  289. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx/node.js +0 -0
  290. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx/web.js +0 -0
  291. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/index.js +0 -0
  292. package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/node.js +1 -1
  293. /package/dist/module/{src/SubPackages → SubPackages}/react-test-renderer/jsx-promised/web.js +0 -0
  294. /package/dist/module/{src/Types.js → Types.js} +0 -0
  295. /package/dist/module/{src/Web.js → Web.js} +0 -0
  296. /package/dist/module/{src/esbuildConfigs → esbuildConfigs}/featuresPlugin.js +0 -0
  297. /package/dist/module/{src/esbuildConfigs → esbuildConfigs}/index.js +0 -0
  298. /package/dist/module/{src/lib → lib}/types.js +0 -0
  299. /package/dist/module/{src/puppeteerConfiger.js → puppeteerConfiger.js} +0 -0
  300. /package/dist/module/{src/web.html.js → web.html.js} +0 -0
  301. /package/dist/types/{src/Init.d.ts → Init.d.ts} +0 -0
  302. /package/dist/types/{src/build-tests.d.ts → ReportServer.d.ts} +0 -0
  303. /package/dist/types/{src/SubPackages → SubPackages}/react-test-renderer/component/interface.d.ts +0 -0
  304. /package/dist/types/{src/init-docs.d.ts → build.d.ts} +0 -0
  305. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/featuresPlugin.d.ts +0 -0
  306. /package/dist/types/{src/run-tests.d.ts → init-docs.d.ts} +0 -0
  307. /package/dist/types/{src/puppeteerConfiger.d.ts → puppeteerConfiger.d.ts} +0 -0
  308. /package/dist/types/{src/web.html.d.ts → web.html.d.ts} +0 -0
@@ -6,21 +6,55 @@ import test from "../../../Node.js";
6
6
  import {
7
7
  ITestSpecification,
8
8
  ITestImplementation,
9
- IBaseTest,
9
+ Ibdd_in,
10
+ Ibdd_out,
10
11
  } from "../../../Types";
11
12
 
12
13
  export type IInput = React.FC;
13
14
  export type IWhenShape = unknown;
14
15
  export type IThenShape = unknown;
15
16
 
16
- export type ISpec<ITestShape extends IBaseTest> =
17
- ITestSpecification<ITestShape>;
18
- export default <ITestShape extends IBaseTest>(
19
- testImplementations: ITestImplementation<ITestShape>,
20
- testSpecifications: ISpec<ITestShape>,
17
+ export type ISpec<
18
+ I extends Ibdd_in<
19
+ unknown,
20
+ unknown,
21
+ unknown,
22
+ unknown,
23
+ unknown,
24
+ unknown,
25
+ unknown
26
+ >,
27
+ O extends Ibdd_out<
28
+ Record<string, any>,
29
+ Record<string, any>,
30
+ Record<string, any>,
31
+ Record<string, any>,
32
+ Record<string, any>
33
+ >
34
+ > = ITestSpecification<I, O>;
35
+ export default <
36
+ I extends Ibdd_in<
37
+ unknown,
38
+ unknown,
39
+ unknown,
40
+ unknown,
41
+ unknown,
42
+ unknown,
43
+ unknown
44
+ >,
45
+ O extends Ibdd_out<
46
+ Record<string, any>,
47
+ Record<string, any>,
48
+ Record<string, any>,
49
+ Record<string, any>,
50
+ Record<string, any>
51
+ >
52
+ >(
53
+ testImplementations: ITestImplementation<I, O>,
54
+ testSpecifications: ISpec<I, O>,
21
55
  testInput: IInput
22
56
  ) =>
23
- test<ITestShape>(testInput, testSpecifications, testImplementations, {
57
+ test<I, O>(testInput, testSpecifications, testImplementations, {
24
58
  beforeEach: function (
25
59
  CComponent,
26
60
  props
@@ -4,7 +4,8 @@ import renderer, { act } from "react-test-renderer";
4
4
  import {
5
5
  ITestSpecification,
6
6
  ITestImplementation,
7
- IBaseTest,
7
+ Ibdd_in,
8
+ Ibdd_out,
8
9
  } from "../../../Types";
9
10
  import test from "../../../Web.js";
10
11
 
@@ -12,18 +13,49 @@ export type IInput = React.FC;
12
13
  export type IWhenShape = unknown;
13
14
  export type IThenShape = unknown;
14
15
 
15
- export type ISpec<ITestShape extends IBaseTest> =
16
- ITestSpecification<ITestShape>;
17
- export default <ITestShape extends IBaseTest, IPropShape>(
18
- testImplementations: ITestImplementation<ITestShape>,
19
- testSpecifications: ISpec<ITestShape>,
16
+ export type ISpec<
17
+ I extends Ibdd_in<
18
+ unknown,
19
+ unknown,
20
+ renderer.ReactTestRenderer,
21
+ unknown,
22
+ unknown,
23
+ unknown,
24
+ unknown
25
+ >,
26
+ O extends Ibdd_out<
27
+ Record<string, any>,
28
+ Record<string, any>,
29
+ Record<string, any>,
30
+ Record<string, any>,
31
+ Record<string, any>
32
+ >
33
+ > = ITestSpecification<I, O>;
34
+
35
+ export default <
36
+ I extends Ibdd_in<
37
+ unknown,
38
+ unknown,
39
+ renderer.ReactTestRenderer,
40
+ unknown,
41
+ unknown,
42
+ unknown,
43
+ unknown
44
+ >,
45
+ O extends Ibdd_out<
46
+ Record<string, any>,
47
+ Record<string, any>,
48
+ Record<string, any>,
49
+ Record<string, any>,
50
+ Record<string, any>
51
+ >
52
+ >(
53
+ testImplementations: ITestImplementation<I, O>,
54
+ testSpecifications: ISpec<I, O>,
20
55
  testInput: IInput
21
56
  ) =>
22
- test<ITestShape>(testInput, testSpecifications, testImplementations, {
23
- beforeEach: function (
24
- CComponent,
25
- props
26
- ): Promise<renderer.ReactTestRenderer> {
57
+ test<I, O>(testInput, testSpecifications, testImplementations, {
58
+ beforeEach: function (CComponent, props) {
27
59
  return new Promise((res, rej) => {
28
60
  let component: renderer.ReactTestRenderer;
29
61
  act(() => {
@@ -2,7 +2,8 @@ import React from "react";
2
2
  import renderer, { act } from "react-test-renderer";
3
3
 
4
4
  import {
5
- IBaseTest,
5
+ Ibdd_in,
6
+ Ibdd_out,
6
7
  ITestImplementation,
7
8
  ITestSpecification,
8
9
  } from "../../../Types";
@@ -15,24 +16,46 @@ export type ISelection = renderer.ReactTestRenderer;
15
16
  export type IStore = renderer.ReactTestRenderer;
16
17
  export type ISubject = renderer.ReactTestRenderer;
17
18
 
18
- export type ITestImpl<ITestShape extends IBaseTest> = ITestImplementation<
19
- ITestShape,
20
- object
21
- >;
19
+ export type ITestImpl<
20
+ I extends Ibdd_in<
21
+ unknown,
22
+ unknown,
23
+ renderer.ReactTestRenderer,
24
+ unknown,
25
+ unknown,
26
+ unknown,
27
+ unknown
28
+ >,
29
+ O extends Ibdd_out<
30
+ Record<string, any>,
31
+ Record<string, any>,
32
+ Record<string, any>,
33
+ Record<string, any>,
34
+ Record<string, any>
35
+ >
36
+ > = ITestImplementation<I, O>;
22
37
 
23
- export type ITestSpec<ITestShape extends IBaseTest> =
24
- ITestSpecification<ITestShape>;
25
-
26
- const Context = React.createContext({});
27
-
28
- const AppContext = React.createContext({});
29
- const contextValue = {
30
- ingredients: ["flour", "sugar", "eggs"],
31
- temperature: "200",
32
- };
38
+ export type ITestSpec<
39
+ I extends Ibdd_in<
40
+ unknown,
41
+ unknown,
42
+ renderer.ReactTestRenderer,
43
+ unknown,
44
+ unknown,
45
+ unknown,
46
+ unknown
47
+ >,
48
+ O extends Ibdd_out<
49
+ Record<string, any>,
50
+ Record<string, any>,
51
+ Record<string, any>,
52
+ Record<string, any>,
53
+ Record<string, any>
54
+ >
55
+ > = ITestSpecification<I, O>;
33
56
 
34
57
  export const testInterface = {
35
- butThen: async function (s: IStore, thenCB, tr): Promise<ISelection> {
58
+ butThen: async function (s: IStore, thenCB): Promise<ISelection> {
36
59
  // console.log("butThen", thenCB.toString());
37
60
  return thenCB(s);
38
61
  },
@@ -1,17 +1,34 @@
1
1
  import test from "../../../Node.js";
2
- import { IBaseTest } from "../../../Types";
2
+ import { Ibdd_in, Ibdd_out } from "../../../Types.js";
3
3
 
4
4
  import type { ITestImpl, ITestSpec } from "../jsx-promised";
5
5
 
6
6
  import { IInput, testInterface } from "./index.js";
7
7
 
8
- export default <ITestShape extends IBaseTest>(
9
- testImplementations: ITestImpl<ITestShape>,
10
- testSpecifications: ITestSpec<ITestShape>,
8
+ export default <
9
+ I extends Ibdd_in<
10
+ unknown,
11
+ unknown,
12
+ unknown,
13
+ unknown,
14
+ unknown,
15
+ unknown,
16
+ unknown
17
+ >,
18
+ O extends Ibdd_out<
19
+ Record<string, any>,
20
+ Record<string, any>,
21
+ Record<string, any>,
22
+ Record<string, any>,
23
+ Record<string, any>
24
+ >
25
+ >(
26
+ testImplementations: ITestImpl<I, O>,
27
+ testSpecifications: ITestSpec<I, O>,
11
28
  testInput: IInput,
12
29
  testInterface2 = testInterface
13
30
  ) => {
14
- return test<ITestShape>(
31
+ return test<I, O>(
15
32
  testInput,
16
33
  testSpecifications,
17
34
  testImplementations,
@@ -1,17 +1,34 @@
1
- import { IBaseTest } from "../../../Types";
1
+ import { Ibdd_in, Ibdd_out } from "../../../Types.js";
2
2
  import test from "../../../Web.js";
3
3
 
4
4
  import { ITestImpl, ITestSpec } from "../jsx-promised";
5
5
 
6
6
  import { IInput, testInterface } from "./index.js";
7
7
 
8
- export default <ITestShape extends IBaseTest>(
9
- testImplementations: ITestImpl<ITestShape>,
10
- testSpecifications: ITestSpec<ITestShape>,
8
+ export default <
9
+ I extends Ibdd_in<
10
+ unknown,
11
+ unknown,
12
+ unknown,
13
+ unknown,
14
+ unknown,
15
+ unknown,
16
+ unknown
17
+ >,
18
+ O extends Ibdd_out<
19
+ Record<string, any>,
20
+ Record<string, any>,
21
+ Record<string, any>,
22
+ Record<string, any>,
23
+ Record<string, any>
24
+ >
25
+ >(
26
+ testImplementations: ITestImpl<I, O>,
27
+ testSpecifications: ITestSpec<I, O>,
11
28
  testInput: IInput,
12
29
  testInterface2 = testInterface
13
30
  ) => {
14
- return test<ITestShape>(
31
+ return test<I, O>(
15
32
  testInput,
16
33
  testSpecifications,
17
34
  testImplementations,
@@ -1,7 +1,8 @@
1
1
  import renderer, { act } from "react-test-renderer";
2
2
 
3
3
  import {
4
- IBaseTest,
4
+ Ibdd_in,
5
+ Ibdd_out,
5
6
  ITestImplementation,
6
7
  ITestSpecification,
7
8
  } from "../../../Types";
@@ -14,14 +15,46 @@ export type ISelection = renderer.ReactTestRenderer;
14
15
  export type IStore = renderer.ReactTestRenderer;
15
16
  export type ISubject = renderer.ReactTestRenderer;
16
17
 
17
- export type ITestImpl<ITestShape extends IBaseTest> =
18
- ITestImplementation<ITestShape>;
18
+ export type ITestImpl<
19
+ I extends Ibdd_in<
20
+ renderer.ReactTestRenderer,
21
+ renderer.ReactTestRenderer,
22
+ renderer.ReactTestRenderer,
23
+ renderer.ReactTestRenderer,
24
+ unknown,
25
+ unknown,
26
+ unknown
27
+ >,
28
+ O extends Ibdd_out<
29
+ Record<string, any>,
30
+ Record<string, any>,
31
+ Record<string, any>,
32
+ Record<string, any>,
33
+ Record<string, any>
34
+ >
35
+ > = ITestImplementation<I, O>;
19
36
 
20
- export type ITestSpec<ITestShape extends IBaseTest> =
21
- ITestSpecification<ITestShape>;
37
+ export type ITestSpec<
38
+ I extends Ibdd_in<
39
+ renderer.ReactTestRenderer,
40
+ renderer.ReactTestRenderer,
41
+ renderer.ReactTestRenderer,
42
+ renderer.ReactTestRenderer,
43
+ unknown,
44
+ unknown,
45
+ unknown
46
+ >,
47
+ O extends Ibdd_out<
48
+ Record<string, any>,
49
+ Record<string, any>,
50
+ Record<string, any>,
51
+ Record<string, any>,
52
+ Record<string, any>
53
+ >
54
+ > = ITestSpecification<I, O>;
22
55
 
23
56
  export const testInterface = {
24
- beforeEach: async (CComponent): Promise<renderer.ReactTestRenderer> => {
57
+ beforeEach: async (CComponent) => {
25
58
  return new Promise((res, rej) => {
26
59
  let component;
27
60
  act(async () => {
@@ -1,19 +1,36 @@
1
- import { IInput, testInterface } from ".";
2
1
  import test from "../../../Node";
3
- import { IBaseTest } from "../../../Types";
2
+ import { Ibdd_in, Ibdd_out } from "../../../Types";
3
+
4
4
  import { ITestImpl, ITestSpec } from "../../react/jsx";
5
5
 
6
- export default <ITestShape extends IBaseTest>(
7
- testImplementations: ITestImpl<ITestShape>,
8
- testSpecifications: ITestSpec<ITestShape>,
6
+ import { IInput, testInterface } from ".";
7
+
8
+ export default <
9
+ I extends Ibdd_in<
10
+ unknown,
11
+ unknown,
12
+ unknown,
13
+ unknown,
14
+ unknown,
15
+ unknown,
16
+ unknown
17
+ >,
18
+ O extends Ibdd_out<
19
+ Record<string, any>,
20
+ Record<string, any>,
21
+ Record<string, any>,
22
+ Record<string, any>,
23
+ Record<string, any>
24
+ >
25
+ >(
26
+ testImplementations: ITestImpl<I, O>,
27
+ testSpecifications: ITestSpec<I, O>,
9
28
  testInput: IInput
10
29
  ) => {
11
- return test<
12
- ITestShape
13
- >(
30
+ return test<I, O>(
14
31
  testInput,
15
32
  testSpecifications,
16
33
  testImplementations,
17
- testInterface,
18
- )
34
+ testInterface
35
+ );
19
36
  };
@@ -1,22 +1,36 @@
1
- import { IBaseTest } from "../../../Types";
1
+ import { Ibdd_in, Ibdd_out } from "../../../Types";
2
2
  import test from "../../../Web";
3
+
3
4
  import { ITestImpl, ITestSpec } from "../../react/jsx";
4
5
 
5
- import {
6
- testInterface, IInput
7
- } from "./index";
6
+ import { testInterface, IInput } from "./index";
8
7
 
9
- export default <ITestShape extends IBaseTest>(
10
- testImplementations: ITestImpl<ITestShape>,
11
- testSpecifications: ITestSpec<ITestShape>,
8
+ export default <
9
+ I extends Ibdd_in<
10
+ unknown,
11
+ unknown,
12
+ unknown,
13
+ unknown,
14
+ unknown,
15
+ unknown,
16
+ unknown
17
+ >,
18
+ O extends Ibdd_out<
19
+ Record<string, any>,
20
+ Record<string, any>,
21
+ Record<string, any>,
22
+ Record<string, any>,
23
+ Record<string, any>
24
+ >
25
+ >(
26
+ testImplementations: ITestImpl<I, O>,
27
+ testSpecifications: ITestSpec<I, O>,
12
28
  testInput: IInput
13
29
  ) => {
14
- return test<
15
- ITestShape
16
- >(
30
+ return test<I, O>(
17
31
  testInput,
18
32
  testSpecifications,
19
33
  testImplementations,
20
- testInterface,
21
- )
34
+ testInterface
35
+ );
22
36
  };
@@ -0,0 +1,176 @@
1
+ import ReactDom from "react-dom/client";
2
+ import React, { useEffect, useState } from "react";
3
+ import { Col, Nav, Row, Tab } from "react-bootstrap";
4
+
5
+ import { IBuiltConfig } from "./lib";
6
+
7
+ import 'bootstrap/dist/css/bootstrap.min.css';
8
+ import "./style.css"
9
+ import { Footer } from "./Footer";
10
+
11
+ const StepPane = ({ step }: {
12
+ step: {
13
+ name: string,
14
+ error: string,
15
+ }
16
+ }
17
+
18
+ ) => {
19
+
20
+ return <div>
21
+ <pre><code>{JSON.stringify(step, null, 2)}</code></pre>
22
+ </div>
23
+ }
24
+
25
+ const TestPane = ({ given }: {
26
+ given: {
27
+ key: string,
28
+ name: string,
29
+ error: string[],
30
+ features: string[],
31
+ whens: {
32
+ name: string;
33
+ error: string;
34
+ }[],
35
+ thens: {
36
+ name: string;
37
+ error: string;
38
+ }[],
39
+ }
40
+ }) => {
41
+
42
+ return <div> <Tab.Container id="TestPane-tabs" defaultActiveKey="first">
43
+ <Row>
44
+ <Col sm={3}>
45
+ <Nav variant="pills" className="flex-column">
46
+
47
+
48
+ <Nav.Item>
49
+ <Nav.Link eventKey={`bdd-features`}>features</Nav.Link>
50
+ {
51
+ ...given.whens.map((w, ndx) => <Nav.Link eventKey={`bdd-when-${ndx}`}>When {w.name} {w.error && "!"}</Nav.Link>)
52
+ }
53
+ {
54
+ ...given.thens.map((t, ndx) => <Nav.Link eventKey={`bdd-then-${ndx}`}>Then {t.name} {t.error && "!"}</Nav.Link>)
55
+ }
56
+ <Nav.Link eventKey={`bdd-errors`}>errors</Nav.Link>
57
+ </Nav.Item>
58
+
59
+
60
+ </Nav>
61
+
62
+
63
+ </Col>
64
+ <Col sm={9}>
65
+ <Tab.Content>
66
+
67
+ <Tab.Pane eventKey={`bdd-features`}>
68
+ <pre><code>{JSON.stringify(given.features, null, 2)}</code></pre>
69
+ </Tab.Pane>
70
+
71
+
72
+ {
73
+ ...given.whens.map((w, ndx) => <Tab.Pane eventKey={`bdd-when-${ndx}`}><StepPane step={w} /></Tab.Pane>)
74
+ }
75
+ {
76
+ ...given.thens.map((t, ndx) => <Tab.Pane eventKey={`bdd-then-${ndx}`}><StepPane step={t} /></Tab.Pane>)
77
+ }
78
+ <Tab.Pane eventKey={`bdd-errors`}>
79
+ <pre><code>{JSON.stringify(given.error, null, 2)}</code></pre>
80
+ </Tab.Pane>
81
+
82
+ </Tab.Content>
83
+ </Col>
84
+ </Row>
85
+ </Tab.Container></div>
86
+ }
87
+
88
+ const BddPage = () => {
89
+
90
+ const [configs, setConfigs] = useState<IBuiltConfig>();
91
+ useEffect(() => {
92
+ (async () => {
93
+ fetch('/kokomoBay/docs/testeranto.json')
94
+ .then(response => response.json())
95
+ .then(json => {
96
+ setConfigs(json)
97
+ })
98
+ .catch(error => console.error(error));
99
+
100
+ })();
101
+ }, []);
102
+
103
+
104
+ const [bddErrors, setBddErrors] = useState<{
105
+ name: string, givens: {
106
+ key: string,
107
+ name: string,
108
+ whens: {
109
+ name: string;
110
+ error: string;
111
+ }[],
112
+ thens: {
113
+ name: string;
114
+ error: string;
115
+ }[],
116
+ }[]
117
+ }>();
118
+ useEffect(() => {
119
+ (async () => {
120
+ setBddErrors(await (await fetch(`tests.json`)).json());
121
+ })();
122
+ }, [configs]);
123
+
124
+ if (!configs || !bddErrors) {
125
+ return <div>loading...</div>
126
+ }
127
+
128
+ return <div> <Row>
129
+ <Col sm={12}><h2>{bddErrors.name}</h2></Col>
130
+ </Row>
131
+
132
+ <Row>
133
+ <Tab.Container id="root-tab-container" defaultActiveKey="first">
134
+ <Row>
135
+ <Col sm={3}>
136
+ <Nav variant="pills" className="flex-column">
137
+
138
+ {
139
+ ...bddErrors.givens.map((g) =>
140
+ <Nav.Item>
141
+ <Nav.Link eventKey={g.key}>
142
+ {g.key}: Given {g.name}
143
+ </Nav.Link>
144
+ </Nav.Item>
145
+ )
146
+ }
147
+
148
+ </Nav>
149
+ </Col>
150
+ <Col sm={9}>
151
+ <Tab.Content>
152
+ {
153
+ ...bddErrors.givens.map((g) =>
154
+
155
+ <Tab.Pane eventKey={g.key}><TestPane given={g} /></Tab.Pane>
156
+
157
+ )
158
+ }
159
+ </Tab.Content>
160
+ </Col>
161
+ </Row>
162
+ </Tab.Container>
163
+ </Row>
164
+
165
+ <Footer />
166
+ </div>
167
+ }
168
+
169
+ document.addEventListener("DOMContentLoaded", function () {
170
+ const elem = document.getElementById("root");
171
+ if (elem) {
172
+ ReactDom.createRoot(elem).render(React.createElement(BddPage, {}, []));
173
+ }
174
+ });
175
+
176
+ console.log("hello BddPage!")