testeranto 0.177.0 → 0.189.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 (768) hide show
  1. package/CNAME +1 -0
  2. package/README.html +302 -0
  3. package/README.md +24 -4
  4. package/dist/common/src/App.js +43 -0
  5. package/dist/common/src/Node.js +4 -8
  6. package/dist/common/src/PM/PM_WithEslintAndTsc.js +2 -33
  7. package/dist/common/src/PM/base.js +0 -1
  8. package/dist/common/src/PM/layers/base/PM_Base.js +1 -0
  9. package/dist/common/src/PM/layers/base/components/PageOperations.js +1 -0
  10. package/dist/common/src/PM/layers/base/components/PageOperations.testeranto.js +1 -0
  11. package/dist/common/src/PM/layers/linting/components/Linter.js +1 -0
  12. package/dist/common/src/PM/layers/linting/components/TypeChecker.js +1 -0
  13. package/dist/common/src/PM/layers/main/components/SidecarManager.js +1 -0
  14. package/dist/common/src/PM/layers/main/components/TestRunner.js +1 -0
  15. package/dist/common/src/PM/main.js +211 -109
  16. package/dist/common/src/PM/nodeSidecar.js +1 -0
  17. package/dist/common/src/PM/pure.js +15 -10
  18. package/dist/common/src/PM/pureSidecar.js +1 -1
  19. package/dist/common/src/PM/types.js +1 -0
  20. package/dist/common/src/PM/web.js +2 -1
  21. package/dist/common/src/Pure.js +1 -1
  22. package/dist/common/src/Pure.test.js +21 -19
  23. package/dist/common/src/build.js +30 -39
  24. package/dist/common/src/components/SunriseAnimation.js +291 -0
  25. package/dist/common/src/components/SunriseAnimation.test/interface.js +67 -0
  26. package/dist/common/src/components/SunriseAnimation.test/types.js +2 -0
  27. package/dist/common/src/components/TestStatusBadge.js +1 -21
  28. package/dist/common/src/components/pure/AppFrame.js +20 -0
  29. package/dist/common/src/components/pure/AppFrame.test/implementation.js +63 -0
  30. package/dist/common/src/components/pure/AppFrame.test/index.js +14 -0
  31. package/dist/common/src/components/pure/AppFrame.test/specification.js +25 -0
  32. package/dist/common/src/components/pure/AppFrame.test/types.js +3 -0
  33. package/dist/common/src/components/pure/FeaturesReporterView.js +23 -0
  34. package/dist/common/src/components/pure/FeaturesReporterView.test/implementation.js +84 -0
  35. package/dist/common/src/components/pure/FeaturesReporterView.test/index.js +14 -0
  36. package/dist/common/src/components/pure/FeaturesReporterView.test/specification.js +27 -0
  37. package/dist/common/src/components/pure/FeaturesReporterView.test/types.js +2 -0
  38. package/dist/common/src/components/pure/ModalContent.js +86 -0
  39. package/dist/common/src/components/pure/ModalContent.test/implementation.js +33 -0
  40. package/dist/common/src/components/pure/ModalContent.test/index.js +12 -0
  41. package/dist/common/src/components/pure/ModalContent.test/specification.js +19 -0
  42. package/dist/common/src/components/pure/ModalContent.test/types.js +4 -0
  43. package/dist/common/src/components/pure/ProjectPageView.js +53 -76
  44. package/dist/common/src/components/pure/ProjectPageView.test/implementation.js +118 -33
  45. package/dist/common/src/components/pure/ProjectPageView.test/index.js +5 -1
  46. package/dist/common/src/components/pure/ProjectPageView.test/specification.js +15 -2
  47. package/dist/common/src/components/pure/ProjectPageView.test/types.js +2 -0
  48. package/dist/common/src/components/pure/ProjectsPageView.js +66 -0
  49. package/dist/common/src/components/pure/SettingsButton.js +83 -0
  50. package/dist/common/src/components/pure/TestPageView.js +134 -0
  51. package/dist/common/src/components/pure/TestPageView.test/implementation.js +202 -0
  52. package/dist/common/src/components/pure/TestPageView.test/index.js +15 -0
  53. package/dist/common/src/components/pure/TestPageView.test/specification.js +26 -0
  54. package/dist/common/src/components/pure/TestPageView.test/types.js +4 -0
  55. package/dist/common/src/components/pure/ThemeCard.js +15 -0
  56. package/dist/common/src/components/stateful/FeaturesReporter.js +59 -0
  57. package/dist/common/src/components/stateful/ProjectPage.js +100 -0
  58. package/dist/common/src/components/stateful/ProjectsPage.js +92 -0
  59. package/dist/common/src/components/stateful/TestPage.js +133 -0
  60. package/dist/common/src/defaultConfig.js +1 -0
  61. package/dist/common/src/esbuildConfigs/web.js +1 -1
  62. package/dist/common/src/lib/BaseSuite.js +1 -0
  63. package/dist/common/src/lib/BaseSuite.test/mock.js +0 -11
  64. package/dist/common/src/lib/BaseSuite.test/test.js +11 -22
  65. package/dist/common/src/lib/Sidecar.js +1 -0
  66. package/dist/common/src/lib/abstractBase.js +13 -6
  67. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +0 -6
  68. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +3 -1
  69. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.mock.js +28 -17
  70. package/dist/common/src/lib/baseBuilder.test/baseBuilder.test.pure.js +2 -2
  71. package/dist/common/src/lib/basebuilder.js +32 -30
  72. package/dist/common/src/lib/classBuilder.js +2 -0
  73. package/dist/common/src/lib/core.js +0 -1
  74. package/dist/common/src/lib/core.test/MockCore.js +0 -14
  75. package/dist/common/src/lib/core.test/core.test.adapter.js +2 -9
  76. package/dist/common/src/lib/core.test/core.test.implementation.js +3 -7
  77. package/dist/common/src/lib/index.js +2 -0
  78. package/dist/common/src/lib/pmProxy.js +0 -2
  79. package/dist/common/src/lib/pmProxy.test/adapter.js +8 -2
  80. package/dist/common/src/lib/pmProxy.test/implementation.js +33 -4
  81. package/dist/common/src/lib/pmProxy.test/mockPMBase.js +9 -0
  82. package/dist/common/src/mothership/index.js +5 -0
  83. package/dist/common/src/mothership/test.js +44 -25
  84. package/dist/common/src/types/features.js +34 -0
  85. package/dist/common/src/utils/api.js +42 -23
  86. package/dist/common/src/utils/featureUtils.js +29 -0
  87. package/dist/common/src/utils/logFiles.js +25 -0
  88. package/dist/common/src/utils/makePrompt.js +115 -0
  89. package/dist/common/src/web.html.js +2 -6
  90. package/dist/common/testeranto.config.js +62 -34
  91. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  92. package/dist/module/src/App.js +9 -17
  93. package/dist/module/src/Node.js +4 -8
  94. package/dist/module/src/PM/PM_WithEslintAndTsc.js +3 -34
  95. package/dist/module/src/PM/base.js +0 -1
  96. package/dist/module/src/PM/layers/base/PM_Base.js +1 -0
  97. package/dist/module/src/PM/layers/base/components/PageOperations.js +1 -0
  98. package/dist/module/src/PM/layers/base/components/PageOperations.testeranto.js +1 -0
  99. package/dist/module/src/PM/layers/linting/components/Linter.js +1 -0
  100. package/dist/module/src/PM/layers/linting/components/TypeChecker.js +1 -0
  101. package/dist/module/src/PM/layers/main/components/SidecarManager.js +1 -0
  102. package/dist/module/src/PM/layers/main/components/TestRunner.js +1 -0
  103. package/dist/module/src/PM/main.js +207 -105
  104. package/dist/module/src/PM/nodeSidecar.js +1 -0
  105. package/dist/module/src/PM/pure.js +15 -10
  106. package/dist/module/src/PM/pureSidecar.js +1 -1
  107. package/dist/module/src/PM/types.js +1 -0
  108. package/dist/module/src/PM/web.js +2 -1
  109. package/dist/module/src/Pure.js +1 -1
  110. package/dist/module/src/Pure.test.js +21 -19
  111. package/dist/module/src/build.js +25 -37
  112. package/dist/module/src/components/SunriseAnimation.test/interface.js +32 -1
  113. package/dist/module/src/components/TestStatusBadge.js +1 -21
  114. package/dist/module/src/components/pure/AppFrame.js +13 -0
  115. package/dist/module/src/components/pure/AppFrame.test/implementation.js +57 -0
  116. package/dist/module/src/components/pure/AppFrame.test/index.js +9 -0
  117. package/dist/module/src/components/pure/AppFrame.test/specification.js +21 -0
  118. package/dist/module/src/components/pure/AppFrame.test/types.js +2 -0
  119. package/dist/module/src/components/pure/FeaturesReporterView.js +16 -0
  120. package/dist/module/src/components/pure/FeaturesReporterView.test/implementation.js +81 -0
  121. package/dist/module/src/components/pure/FeaturesReporterView.test/index.js +9 -0
  122. package/dist/module/src/components/pure/FeaturesReporterView.test/specification.js +23 -0
  123. package/dist/module/src/components/pure/ModalContent.js +79 -0
  124. package/dist/module/src/components/pure/ModalContent.test/implementation.js +30 -0
  125. package/dist/module/src/components/pure/ModalContent.test/index.js +7 -0
  126. package/dist/module/src/components/pure/ModalContent.test/specification.js +15 -0
  127. package/dist/module/src/components/pure/ModalContent.test/types.js +3 -0
  128. package/dist/module/src/components/pure/ProjectPageView.js +54 -77
  129. package/dist/module/src/components/pure/ProjectPageView.test/implementation.js +118 -33
  130. package/dist/module/src/components/pure/ProjectPageView.test/index.js +5 -1
  131. package/dist/module/src/components/pure/ProjectPageView.test/specification.js +15 -2
  132. package/dist/module/src/components/pure/ProjectPageView.test/types.js +2 -0
  133. package/dist/module/src/components/pure/ProjectsPageView.js +5 -4
  134. package/dist/module/src/components/pure/SettingsButton.js +43 -0
  135. package/dist/module/src/components/pure/TestPageView.js +100 -121
  136. package/dist/module/src/components/pure/TestPageView.test/implementation.js +166 -0
  137. package/dist/module/src/components/pure/TestPageView.test/index.js +10 -0
  138. package/dist/module/src/components/pure/TestPageView.test/specification.js +22 -0
  139. package/dist/module/src/components/pure/TestPageView.test/types.js +3 -0
  140. package/dist/module/src/components/pure/ThemeCard.js +8 -0
  141. package/dist/module/src/components/stateful/FeaturesReporter.js +22 -0
  142. package/dist/module/src/components/stateful/ProjectPage.js +1 -1
  143. package/dist/module/src/components/stateful/TestPage.js +25 -11
  144. package/dist/module/src/defaultConfig.js +1 -0
  145. package/dist/module/src/esbuildConfigs/web.js +1 -1
  146. package/dist/module/src/lib/BaseSuite.js +1 -0
  147. package/dist/module/src/lib/BaseSuite.test/mock.js +0 -11
  148. package/dist/module/src/lib/BaseSuite.test/test.js +11 -22
  149. package/dist/module/src/lib/Sidecar.js +1 -0
  150. package/dist/module/src/lib/abstractBase.js +13 -6
  151. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.adapter.js +0 -6
  152. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.implementation.js +3 -1
  153. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.mock.js +28 -17
  154. package/dist/module/src/lib/baseBuilder.test/baseBuilder.test.pure.js +1 -1
  155. package/dist/module/src/lib/basebuilder.js +32 -30
  156. package/dist/module/src/lib/classBuilder.js +2 -0
  157. package/dist/module/src/lib/core.js +0 -1
  158. package/dist/module/src/lib/core.test/MockCore.js +0 -14
  159. package/dist/module/src/lib/core.test/core.test.adapter.js +2 -9
  160. package/dist/module/src/lib/core.test/core.test.implementation.js +3 -7
  161. package/dist/module/src/lib/index.js +2 -0
  162. package/dist/module/src/lib/pmProxy.js +0 -2
  163. package/dist/module/src/lib/pmProxy.test/adapter.js +8 -2
  164. package/dist/module/src/lib/pmProxy.test/implementation.js +33 -4
  165. package/dist/module/src/lib/pmProxy.test/mockPMBase.js +9 -0
  166. package/dist/module/src/mothership/index.js +5 -0
  167. package/dist/module/src/mothership/test.js +44 -25
  168. package/dist/module/src/types/features.js +31 -0
  169. package/dist/module/src/utils/api.js +41 -21
  170. package/dist/module/src/utils/featureUtils.js +24 -0
  171. package/dist/module/src/utils/logFiles.js +21 -0
  172. package/dist/module/src/utils/makePrompt.js +108 -0
  173. package/dist/module/src/web.html.js +2 -6
  174. package/dist/module/testeranto.config.js +62 -34
  175. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  176. package/dist/prebuild/App.css +444 -12
  177. package/dist/prebuild/App.js +1318 -1053
  178. package/dist/prebuild/build.mjs +87 -103
  179. package/dist/prebuild/mothership/index.mjs +5 -0
  180. package/dist/prebuild/run.mjs +342 -211
  181. package/dist/tsconfig.tsbuildinfo +1 -0
  182. package/dist/types/App.d.ts +1 -0
  183. package/dist/types/PM/layers/main/components/SidecarManager.d.ts +0 -0
  184. package/dist/types/PM/layers/main/components/TestRunner.d.ts +0 -0
  185. package/dist/types/{src/PM → PM}/main.d.ts +18 -3
  186. package/dist/types/{src/PM → PM}/pure.d.ts +7 -4
  187. package/dist/types/PM/types.d.ts +0 -0
  188. package/dist/types/{src/PM → PM}/web.d.ts +1 -1
  189. package/dist/types/{src/Types.d.ts → Types.d.ts} +1 -0
  190. package/dist/types/components/SunriseAnimation.d.ts +5 -0
  191. package/dist/types/components/SunriseAnimation.test/implementation.d.ts +0 -0
  192. package/dist/types/components/SunriseAnimation.test/index.d.ts +0 -0
  193. package/dist/types/components/SunriseAnimation.test/interface.d.ts +11 -0
  194. package/dist/types/components/SunriseAnimation.test/specification.d.ts +0 -0
  195. package/dist/types/components/SunriseAnimation.test/types.d.ts +39 -0
  196. package/dist/types/components/pure/AppFrame.d.ts +9 -0
  197. package/dist/types/components/pure/AppFrame.test/implementation.d.ts +3 -0
  198. package/dist/types/components/pure/AppFrame.test/index.d.ts +5 -0
  199. package/dist/types/components/pure/AppFrame.test/types.d.ts +33 -0
  200. package/dist/types/components/pure/FeaturesReporterView.d.ts +7 -0
  201. package/dist/types/{src/components/pure/ProjectPageView.test → components/pure/FeaturesReporterView.test}/index.d.ts +1 -2
  202. package/dist/types/components/pure/FeaturesReporterView.test/specification.d.ts +3 -0
  203. package/dist/types/components/pure/FeaturesReporterView.test/types.d.ts +54 -0
  204. package/dist/types/components/pure/ModalContent.d.ts +7 -0
  205. package/dist/types/components/pure/ModalContent.test/implementation.d.ts +3 -0
  206. package/dist/types/components/pure/ModalContent.test/index.d.ts +2 -0
  207. package/dist/types/components/pure/ModalContent.test/specification.d.ts +3 -0
  208. package/dist/types/components/pure/ModalContent.test/types.d.ts +45 -0
  209. package/dist/types/components/pure/ProjectPageView.d.ts +14 -0
  210. package/dist/types/components/pure/ProjectPageView.test/implementation.d.ts +3 -0
  211. package/dist/types/components/pure/ProjectPageView.test/index.d.ts +2 -0
  212. package/dist/types/components/pure/ProjectPageView.test/specification.d.ts +3 -0
  213. package/dist/types/components/pure/ProjectPageView.test/types.d.ts +57 -0
  214. package/dist/types/components/pure/ProjectsPageView.d.ts +29 -0
  215. package/dist/types/components/pure/SettingsButton.d.ts +3 -0
  216. package/dist/types/components/pure/TestPageView.d.ts +15 -0
  217. package/dist/types/components/pure/TestPageView.test/implementation.d.ts +11 -0
  218. package/dist/types/components/pure/TestPageView.test/index.d.ts +32 -0
  219. package/dist/types/components/pure/TestPageView.test/specification.d.ts +11 -0
  220. package/dist/types/components/pure/TestPageView.test/types.d.ts +65 -0
  221. package/dist/types/components/pure/ThemeCard.d.ts +9 -0
  222. package/dist/types/components/stateful/FeaturesReporter.d.ts +2 -0
  223. package/dist/types/components/stateful/ProjectPage.d.ts +1 -0
  224. package/dist/types/components/stateful/ProjectsPage.d.ts +1 -0
  225. package/dist/types/components/stateful/TestPage.d.ts +1 -0
  226. package/dist/types/init-docs.d.ts +1 -0
  227. package/dist/types/{src/lib → lib}/abstractBase.d.ts +1 -1
  228. package/dist/types/{src/lib → lib}/abstractBase.test/MockGiven.d.ts +1 -1
  229. package/dist/types/lib/baseBuilder.test/baseBuilder.test.pure.d.ts +3 -0
  230. package/dist/types/{src/lib → lib}/index.d.ts +7 -7
  231. package/dist/types/run.d.ts +1 -0
  232. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  233. package/dist/types/types/features.d.ts +7 -0
  234. package/dist/types/{src/utils → utils}/api.d.ts +1 -5
  235. package/dist/types/utils/featureUtils.d.ts +6 -0
  236. package/dist/types/utils/logFiles.d.ts +7 -0
  237. package/dist/types/utils/makePrompt.d.ts +2 -0
  238. package/dist/types/{src/web.html.d.ts → web.html.d.ts} +1 -1
  239. package/docs/index.md +17 -0
  240. package/docs/testing.prompt.txt +1 -3
  241. package/docs.html +28 -10
  242. package/index.d.ts +38 -13
  243. package/index.html +59 -205
  244. package/marketing.md +166 -0
  245. package/package.json +15 -7
  246. package/scripts/compile-docs.js +24 -14
  247. package/smil30/SMIL-anim.mod.xsd +163 -0
  248. package/smil30/SMIL-control.mod.xsd +73 -0
  249. package/smil30/SMIL-layout.mod.xsd +149 -0
  250. package/smil30/SMIL-link.mod.xsd +145 -0
  251. package/smil30/SMIL-media.mod.xsd +1646 -0
  252. package/smil30/SMIL-metainformation.mod.xsd +45 -0
  253. package/smil30/SMIL-smiltext.mod.xsd +353 -0
  254. package/smil30/SMIL-state.mod.xsd +133 -0
  255. package/smil30/SMIL-struct.mod.xsd +70 -0
  256. package/smil30/SMIL-timing.mod.xsd +105 -0
  257. package/smil30/SMIL-transition.mod.xsd +229 -0
  258. package/smil30/SMIL.xsd +63 -0
  259. package/smil30/its.xsd +42 -0
  260. package/smil30/smil-attribs-1.mod.xsd +610 -0
  261. package/smil30/smil-datatypes-1.mod.xsd +72 -0
  262. package/smil30/smil-framework-1.mod.xsd +45 -0
  263. package/smil30/xml.xsd +16 -0
  264. package/src/App.scss +4 -13
  265. package/src/App.tsx +11 -25
  266. package/src/Node.ts +6 -9
  267. package/src/PM/PM_WithEslintAndTsc.ts +7 -93
  268. package/src/PM/__tests__/nodeSidecar.testeranto.ts +2 -0
  269. package/src/PM/base.ts +0 -3
  270. package/src/PM/layers/base/PM_Base.ts +0 -0
  271. package/src/PM/layers/base/components/PageOperations.testeranto.ts +0 -0
  272. package/src/PM/layers/base/components/PageOperations.ts +0 -0
  273. package/src/PM/layers/linting/components/Linter.ts +0 -0
  274. package/src/PM/layers/linting/components/TypeChecker.ts +0 -0
  275. package/src/PM/layers/main/components/SidecarManager.ts +0 -0
  276. package/src/PM/layers/main/components/TestRunner.ts +0 -0
  277. package/src/PM/main.ts +249 -120
  278. package/src/PM/nodeSidecar.ts +1 -0
  279. package/src/PM/pure.ts +15 -21
  280. package/src/PM/pureSidecar.ts +1 -1
  281. package/src/PM/types.ts +0 -0
  282. package/src/PM/web.ts +2 -1
  283. package/src/Pure.test.ts +21 -20
  284. package/src/Pure.ts +1 -1
  285. package/src/README.md +66 -0
  286. package/src/Types.ts +1 -0
  287. package/src/build.ts +28 -54
  288. package/src/components/{pure/ProjectPageView.test/index.ts → SunriseAnimation.test/index.tsx} +7 -4
  289. package/src/components/SunriseAnimation.test/interface.ts +49 -0
  290. package/src/components/SunriseAnimation.test/types.ts +53 -0
  291. package/src/components/TestStatusBadge.tsx +2 -23
  292. package/src/components/pure/AppFrame.test/implementation.tsx +72 -0
  293. package/src/components/pure/AppFrame.test/index.tsx +22 -0
  294. package/src/components/pure/AppFrame.test/specification.ts +35 -0
  295. package/src/components/pure/AppFrame.test/types.ts +65 -0
  296. package/src/components/pure/AppFrame.tsx +29 -0
  297. package/src/components/pure/FeaturesReporterView.test/implementation.tsx +106 -0
  298. package/src/components/pure/FeaturesReporterView.test/index.tsx +18 -0
  299. package/src/components/pure/FeaturesReporterView.test/specification.ts +39 -0
  300. package/src/components/pure/FeaturesReporterView.test/types.ts +77 -0
  301. package/src/components/pure/FeaturesReporterView.tsx +37 -0
  302. package/src/components/pure/ModalContent.test/implementation.tsx +43 -0
  303. package/src/components/pure/ModalContent.test/index.tsx +15 -0
  304. package/src/components/pure/ModalContent.test/specification.ts +27 -0
  305. package/src/components/pure/ModalContent.test/types.ts +72 -0
  306. package/src/components/pure/ModalContent.tsx +182 -0
  307. package/src/components/pure/ProjectPageView.test/implementation.tsx +135 -36
  308. package/src/components/pure/ProjectPageView.test/index.tsx +20 -0
  309. package/src/components/pure/ProjectPageView.test/specification.ts +15 -2
  310. package/src/components/pure/ProjectPageView.test/types.ts +57 -13
  311. package/src/components/pure/ProjectPageView.tsx +155 -121
  312. package/src/components/pure/ProjectsPageView.tsx +36 -5
  313. package/src/components/pure/SettingsButton.md +1 -0
  314. package/src/components/pure/SettingsButton.tsx +66 -0
  315. package/src/components/pure/TestPageView.test/implementation.ts +194 -0
  316. package/src/components/pure/TestPageView.test/index.tsx +20 -0
  317. package/src/components/pure/TestPageView.test/specification.ts +59 -0
  318. package/src/components/pure/TestPageView.test/types.ts +92 -0
  319. package/src/components/pure/TestPageView.tsx +272 -283
  320. package/src/components/pure/ThemeCard.tsx +34 -0
  321. package/src/components/stateful/FeaturesReporter.tsx +24 -0
  322. package/src/components/stateful/ProjectPage.tsx +4 -3
  323. package/src/components/stateful/TestPage.tsx +27 -18
  324. package/src/defaultConfig.ts +1 -0
  325. package/src/esbuildConfigs/web.ts +2 -1
  326. package/src/lib/BaseSuite.test/mock.ts +1 -27
  327. package/src/lib/BaseSuite.test/test.ts +15 -37
  328. package/src/lib/BaseSuite.ts +3 -0
  329. package/src/lib/Sidecar.ts +2 -0
  330. package/src/lib/abstractBase.test/MockGiven.ts +1 -1
  331. package/src/lib/abstractBase.ts +15 -7
  332. package/src/lib/baseBuilder.test/baseBuilder.test.adapter.ts +0 -6
  333. package/src/lib/baseBuilder.test/baseBuilder.test.implementation.ts +3 -1
  334. package/src/lib/baseBuilder.test/baseBuilder.test.mock.ts +27 -17
  335. package/src/lib/baseBuilder.test/baseBuilder.test.pure.ts +1 -1
  336. package/src/lib/basebuilder.ts +46 -47
  337. package/src/lib/classBuilder.ts +3 -0
  338. package/src/lib/core.test/MockCore.ts +0 -23
  339. package/src/lib/core.test/core.test.adapter.ts +6 -12
  340. package/src/lib/core.test/core.test.implementation.ts +7 -10
  341. package/src/lib/core.ts +2 -1
  342. package/src/lib/index.ts +9 -8
  343. package/src/lib/pmProxy.test/adapter.ts +8 -2
  344. package/src/lib/pmProxy.test/implementation.ts +40 -7
  345. package/src/lib/pmProxy.test/mockPMBase.ts +11 -0
  346. package/src/lib/pmProxy.ts +2 -2
  347. package/src/lib/types.ts +2 -0
  348. package/src/mothership/index.ts +6 -0
  349. package/src/mothership/test.ts +53 -26
  350. package/src/style.md +2 -0
  351. package/src/style.scss +16 -0
  352. package/src/templates/frontpage.html +54 -0
  353. package/src/themes.scss +9 -9
  354. package/src/types/features.ts +38 -0
  355. package/src/utils/api.ts +59 -29
  356. package/src/utils/featureUtils.tsx +42 -0
  357. package/src/utils/logFiles.ts +26 -0
  358. package/src/utils/makePrompt.ts +148 -0
  359. package/src/web.html.ts +6 -6
  360. package/style.css +28 -9
  361. package/testeranto/App.css +444 -12
  362. package/testeranto/App.js +1318 -1053
  363. package/testeranto/bundles/node/core/chunk-JBB5E3XJ.mjs +258 -0
  364. package/testeranto/bundles/node/core/chunk-L67RWZ4W.mjs +899 -0
  365. package/testeranto/bundles/node/core/chunk-ZQRRQYS4.mjs +92 -0
  366. package/testeranto/bundles/node/core/metafile.json +5729 -2
  367. package/testeranto/bundles/node/core/src/lib/BaseSuite.test/node.test.mjs +307 -0
  368. package/testeranto/bundles/node/core/src/lib/baseBuilder.test/baseBuilder.test.node.mjs +247 -0
  369. package/testeranto/bundles/node/core/src/lib/classBuilder.test/classBuilder.test.mjs +423 -0
  370. package/testeranto/bundles/node/core/src/lib/core.test/core.test.mjs +505 -0
  371. package/testeranto/bundles/node/core/src/lib/pmProxy.test/index.mjs +4804 -0
  372. package/testeranto/bundles/node/core/src/mothership/test.mjs +24588 -0
  373. package/testeranto/bundles/pure/core/chunk-KHJ35R7C.mjs +997 -0
  374. package/testeranto/bundles/pure/core/metafile.json +870 -3
  375. package/testeranto/bundles/pure/core/src/Pure.test.mjs +428 -0
  376. package/testeranto/bundles/pure/core/src/lib/BaseSuite.test/pure.test.mjs +379 -0
  377. package/testeranto/bundles/pure/core/src/lib/baseBuilder.test/baseBuilder.test.pure.mjs +235 -0
  378. package/testeranto/bundles/web/core/MPLUSRounded1c-Black-O75GP5JI.ttf +0 -0
  379. package/testeranto/bundles/web/core/MPLUSRounded1c-Bold-R524Q5BH.ttf +0 -0
  380. package/testeranto/bundles/web/core/MPLUSRounded1c-ExtraBold-C6GRMYVT.ttf +0 -0
  381. package/testeranto/bundles/web/core/MPLUSRounded1c-Light-WKN65Y2C.ttf +0 -0
  382. package/testeranto/bundles/web/core/MPLUSRounded1c-Medium-ZC4DWL7C.ttf +0 -0
  383. package/testeranto/bundles/web/core/MPLUSRounded1c-Regular-DT6EKZ3S.ttf +0 -0
  384. package/testeranto/bundles/web/core/MPLUSRounded1c-Thin-YWDNVG6M.ttf +0 -0
  385. package/testeranto/bundles/web/core/chunk-BADF3AZF.mjs +108 -0
  386. package/testeranto/bundles/web/core/chunk-BXV27S2S.mjs +6252 -0
  387. package/testeranto/bundles/web/core/chunk-EIYZKF2C.mjs +223 -0
  388. package/testeranto/bundles/web/core/chunk-FNXFUNA7.mjs +28528 -0
  389. package/testeranto/bundles/web/core/chunk-LU364HVS.mjs +3311 -0
  390. package/testeranto/bundles/web/core/chunk-QWII7WIM.mjs +2281 -0
  391. package/testeranto/bundles/web/core/chunk-VAYOSMXI.mjs +21775 -0
  392. package/testeranto/bundles/web/core/metafile.json +7883 -4742
  393. package/testeranto/bundles/web/core/src/components/pure/AppFrame.test/index.css +12105 -0
  394. package/testeranto/bundles/web/core/src/components/pure/AppFrame.test/index.html +15 -0
  395. package/testeranto/bundles/web/core/src/components/pure/AppFrame.test/index.mjs +517 -0
  396. package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.html +15 -0
  397. package/testeranto/bundles/web/core/src/components/pure/FeaturesReporterView.test/index.mjs +166 -0
  398. package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.css +12105 -0
  399. package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.html +15 -0
  400. package/testeranto/bundles/web/core/src/components/pure/ModalContent.test/index.mjs +93 -0
  401. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.css +12105 -0
  402. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.html +1 -5
  403. package/testeranto/bundles/web/core/src/components/pure/ProjectPageView.test/index.mjs +280 -39928
  404. package/testeranto/bundles/web/core/src/components/pure/TestPageView.test/index.css +12105 -0
  405. package/testeranto/bundles/web/core/src/components/pure/TestPageView.test/index.html +15 -0
  406. package/testeranto/bundles/web/core/src/components/pure/TestPageView.test/index.mjs +483 -0
  407. package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.html +15 -0
  408. package/testeranto/bundles/web/core/src/lib/BaseSuite.test/web.test.mjs +394 -0
  409. package/testeranto/bundles/web/core/src/lib/baseBuilder.test/baseBuilder.test.web.html +15 -0
  410. package/testeranto/bundles/web/core/src/lib/baseBuilder.test/baseBuilder.test.web.mjs +256 -0
  411. package/testeranto/reports/core/config.json +127 -2
  412. package/testeranto/reports/core/src/Pure.test/pure/exit.log +0 -0
  413. package/testeranto/reports/core/src/Pure.test/pure/lint_errors.txt +0 -0
  414. package/testeranto/reports/core/src/Pure.test/pure/message.txt +17 -0
  415. package/testeranto/reports/core/src/Pure.test/pure/prompt.txt +14 -0
  416. package/testeranto/reports/core/src/Pure.test/pure/type_errors.txt +106 -0
  417. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/debug.log +0 -0
  418. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/error.log +22 -0
  419. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/exit.log +1 -0
  420. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/info.log +4 -0
  421. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/lint_errors.txt +2 -0
  422. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/message.txt +17 -0
  423. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/prompt.txt +18 -0
  424. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/tests.json +57 -0
  425. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/type_errors.txt +55 -0
  426. package/testeranto/reports/core/src/components/pure/AppFrame.test/index/web/warn.log +0 -0
  427. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/debug.log +0 -0
  428. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/error.log +56 -0
  429. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/exit.log +1 -0
  430. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/info.log +2 -0
  431. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/lint_errors.txt +0 -0
  432. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/message.txt +17 -0
  433. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/prompt.txt +16 -0
  434. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/suite-0/given-basicRender/then-4/butThen/features-reporter.png +0 -0
  435. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/tests.json +76 -0
  436. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/type_errors.txt +80 -0
  437. package/testeranto/reports/core/src/components/pure/FeaturesReporterView.test/index/web/warn.log +0 -0
  438. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/debug.log +0 -0
  439. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/error.log +0 -0
  440. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/exit.log +0 -0
  441. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/info.log +4 -0
  442. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/lint_errors.txt +0 -0
  443. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/message.txt +17 -0
  444. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/prompt.txt +15 -0
  445. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/suite-0/given-basicRender/then-2/butThen/modal-content.png +0 -0
  446. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/tests.json +42 -0
  447. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/type_errors.txt +65 -0
  448. package/testeranto/reports/core/src/components/pure/ModalContent.test/index/web/warn.log +0 -0
  449. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/debug.log +0 -0
  450. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/error.log +33 -0
  451. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/exit.log +1 -0
  452. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/info.log +4 -0
  453. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/lint_errors.txt +2 -18
  454. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/message.txt +16 -1
  455. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/prompt.txt +3 -14
  456. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/suite-0/given-basicRender/then-6/butThen/happy-state.png +0 -0
  457. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/suite-0/given-errorHandling/then-1/butThen/error-state.png +0 -0
  458. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/tests.json +99 -0
  459. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/type_errors.txt +69 -28
  460. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/warn.log +0 -0
  461. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/debug.log +0 -0
  462. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/error.log +0 -0
  463. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/exit.log +1 -0
  464. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/info.log +2 -0
  465. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/lint_errors.txt +0 -0
  466. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/message.txt +17 -0
  467. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/prompt.txt +18 -0
  468. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/tests.json +69 -0
  469. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/type_errors.txt +111 -0
  470. package/testeranto/reports/core/src/components/pure/TestPageView.test/index/web/warn.log +0 -0
  471. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/exit.log +1 -0
  472. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/lint_errors.txt +0 -0
  473. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/message.txt +17 -0
  474. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/prompt.txt +14 -0
  475. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stderr.log +0 -0
  476. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/stdout.log +0 -0
  477. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/tests.json +31 -0
  478. package/testeranto/reports/core/src/lib/BaseSuite.test/node.test/node/type_errors.txt +113 -0
  479. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/exit.log +0 -0
  480. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/lint_errors.txt +0 -0
  481. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/message.txt +17 -0
  482. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/prompt.txt +15 -0
  483. package/testeranto/reports/core/src/lib/BaseSuite.test/pure.test/pure/type_errors.txt +113 -0
  484. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/debug.log +0 -0
  485. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/error.log +1 -0
  486. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/exit.log +1 -0
  487. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/info.log +0 -0
  488. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/lint_errors.txt +0 -0
  489. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/message.txt +17 -0
  490. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/prompt.txt +15 -0
  491. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/tests.json +31 -0
  492. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/type_errors.txt +113 -0
  493. package/testeranto/reports/core/src/lib/BaseSuite.test/web.test/web/warn.log +0 -0
  494. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/exit.log +1 -0
  495. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/lint_errors.txt +0 -0
  496. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/message.txt +17 -0
  497. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/prompt.txt +17 -0
  498. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/stderr.log +0 -0
  499. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/stdout.log +2 -0
  500. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-0/butThen/hello.txt +1 -0
  501. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/suite-0/given-testInitialization/then-1/butThen/artifact_test.txt +1 -0
  502. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/tests.json +71 -0
  503. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.node/node/type_errors.txt +65 -0
  504. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/exit.log +0 -0
  505. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/lint_errors.txt +0 -0
  506. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/message.txt +17 -0
  507. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/prompt.txt +17 -0
  508. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.pure/pure/type_errors.txt +65 -0
  509. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/debug.log +0 -0
  510. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/error.log +1 -0
  511. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/exit.log +1 -0
  512. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/info.log +0 -0
  513. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/lint_errors.txt +0 -0
  514. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/message.txt +17 -0
  515. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/prompt.txt +17 -0
  516. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/suite-0/given-testInitialization/then-0/butThen/hello.txt +1 -0
  517. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/suite-0/given-testInitialization/then-1/butThen/artifact_test.txt +1 -0
  518. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/tests.json +71 -0
  519. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/type_errors.txt +65 -0
  520. package/testeranto/reports/core/src/lib/baseBuilder.test/baseBuilder.test.web/web/warn.log +0 -0
  521. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/exit.log +1 -0
  522. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/lint_errors.txt +0 -0
  523. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/message.txt +17 -0
  524. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/prompt.txt +17 -0
  525. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/stderr.log +0 -0
  526. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/stdout.log +619 -0
  527. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/tests.json +165 -0
  528. package/testeranto/reports/core/src/lib/classBuilder.test/classBuilder.test/node/type_errors.txt +140 -0
  529. package/testeranto/reports/core/src/lib/core.test/core.test/node/exit.log +1 -0
  530. package/testeranto/reports/core/src/lib/core.test/core.test/node/lint_errors.txt +21 -0
  531. package/testeranto/reports/core/src/lib/core.test/core.test/node/message.txt +17 -0
  532. package/testeranto/reports/core/src/lib/core.test/core.test/node/prompt.txt +19 -0
  533. package/testeranto/reports/core/src/lib/core.test/core.test/node/stderr.log +0 -0
  534. package/testeranto/reports/core/src/lib/core.test/core.test/node/stdout.log +0 -0
  535. package/testeranto/reports/core/src/lib/core.test/core.test/node/type_errors.txt +64 -0
  536. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/exit.log +1 -0
  537. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/lint_errors.txt +23 -0
  538. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/message.txt +17 -0
  539. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/prompt.txt +17 -0
  540. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stderr.log +0 -0
  541. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/stdout.log +0 -0
  542. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/tests.json +162 -0
  543. package/testeranto/reports/core/src/lib/pmProxy.test/index/node/type_errors.txt +78 -0
  544. package/testeranto/reports/core/src/mothership/test/node/exit.log +1 -0
  545. package/testeranto/reports/core/src/mothership/test/node/lint_errors.txt +0 -0
  546. package/testeranto/reports/core/src/mothership/test/node/message.txt +17 -0
  547. package/testeranto/reports/core/src/mothership/test/node/prompt.txt +14 -0
  548. package/testeranto/reports/core/src/mothership/test/node/stderr.log +27 -0
  549. package/testeranto/reports/core/src/mothership/test/node/stdout.log +8 -0
  550. package/testeranto/reports/core/src/mothership/test/node/tests.json +36 -0
  551. package/testeranto/reports/core/src/mothership/test/node/type_errors.txt +38 -0
  552. package/testeranto/reports/core/summary.json +109 -4
  553. package/testeranto.config.ts +64 -34
  554. package/tsc.log +356 -210
  555. package/tsconfig.common.json +4 -2
  556. package/tsconfig.json +9 -7
  557. package/tsconfig.module.json +3 -2
  558. package/tsconfig.types.json +3 -1
  559. package/videos/download-smil-xsd.sh +29 -0
  560. package/videos/project0/index.md +72 -0
  561. package/videos/project0/narration.json +7 -0
  562. package/videos/project0/narration.ssml +58 -0
  563. package/videos/project0/package.json +21 -0
  564. package/videos/project0/presentation.smil +25 -0
  565. package/videos/project0/smil30/SMIL-anim.mod.xsd +163 -0
  566. package/videos/project0/smil30/SMIL-anim.mod.xsd.1 +163 -0
  567. package/videos/project0/smil30/SMIL-anim.mod.xsd.2 +163 -0
  568. package/videos/project0/smil30/SMIL-control.mod.xsd +73 -0
  569. package/videos/project0/smil30/SMIL-control.mod.xsd.1 +73 -0
  570. package/videos/project0/smil30/SMIL-control.mod.xsd.2 +73 -0
  571. package/videos/project0/smil30/SMIL-layout.mod.xsd +149 -0
  572. package/videos/project0/smil30/SMIL-layout.mod.xsd.1 +149 -0
  573. package/videos/project0/smil30/SMIL-layout.mod.xsd.2 +149 -0
  574. package/videos/project0/smil30/SMIL-link.mod.xsd +145 -0
  575. package/videos/project0/smil30/SMIL-link.mod.xsd.1 +145 -0
  576. package/videos/project0/smil30/SMIL-link.mod.xsd.2 +145 -0
  577. package/videos/project0/smil30/SMIL-media.mod.xsd +1646 -0
  578. package/videos/project0/smil30/SMIL-media.mod.xsd.1 +1646 -0
  579. package/videos/project0/smil30/SMIL-media.mod.xsd.2 +1646 -0
  580. package/videos/project0/smil30/SMIL-metainformation.mod.xsd +45 -0
  581. package/videos/project0/smil30/SMIL-metainformation.mod.xsd.1 +45 -0
  582. package/videos/project0/smil30/SMIL-metainformation.mod.xsd.2 +45 -0
  583. package/videos/project0/smil30/SMIL-smiltext.mod.xsd +353 -0
  584. package/videos/project0/smil30/SMIL-smiltext.mod.xsd.1 +353 -0
  585. package/videos/project0/smil30/SMIL-smiltext.mod.xsd.2 +353 -0
  586. package/videos/project0/smil30/SMIL-state.mod.xsd +133 -0
  587. package/videos/project0/smil30/SMIL-state.mod.xsd.1 +133 -0
  588. package/videos/project0/smil30/SMIL-state.mod.xsd.2 +133 -0
  589. package/videos/project0/smil30/SMIL-struct.mod.xsd +70 -0
  590. package/videos/project0/smil30/SMIL-struct.mod.xsd.1 +70 -0
  591. package/videos/project0/smil30/SMIL-struct.mod.xsd.2 +70 -0
  592. package/videos/project0/smil30/SMIL-timing.mod.xsd +105 -0
  593. package/videos/project0/smil30/SMIL-timing.mod.xsd.1 +105 -0
  594. package/videos/project0/smil30/SMIL-timing.mod.xsd.2 +105 -0
  595. package/videos/project0/smil30/SMIL-transition.mod.xsd +229 -0
  596. package/videos/project0/smil30/SMIL-transition.mod.xsd.1 +229 -0
  597. package/videos/project0/smil30/SMIL-transition.mod.xsd.2 +229 -0
  598. package/videos/project0/smil30/SMIL.xsd +63 -0
  599. package/videos/project0/smil30/SMIL.xsd.1 +63 -0
  600. package/videos/project0/smil30/SMIL.xsd.2 +63 -0
  601. package/videos/project0/smil30/its.xsd +42 -0
  602. package/videos/project0/smil30/its.xsd.1 +42 -0
  603. package/videos/project0/smil30/its.xsd.2 +42 -0
  604. package/videos/project0/smil30/smil-attribs-1.mod.xsd +610 -0
  605. package/videos/project0/smil30/smil-attribs-1.mod.xsd.1 +610 -0
  606. package/videos/project0/smil30/smil-attribs-1.mod.xsd.2 +610 -0
  607. package/videos/project0/smil30/smil-datatypes-1.mod.xsd +72 -0
  608. package/videos/project0/smil30/smil-datatypes-1.mod.xsd.1 +72 -0
  609. package/videos/project0/smil30/smil-datatypes-1.mod.xsd.2 +72 -0
  610. package/videos/project0/smil30/smil-framework-1.mod.xsd +45 -0
  611. package/videos/project0/smil30/smil-framework-1.mod.xsd.1 +45 -0
  612. package/videos/project0/smil30/smil-framework-1.mod.xsd.2 +45 -0
  613. package/videos/project0/smil30/smil-profile-model-1.mod.xsd +1331 -0
  614. package/videos/project0/smil30/smil-profile-model-1.mod.xsd.1 +1331 -0
  615. package/videos/project0/smil30/smil-qname-1.mod.xsd +121 -0
  616. package/videos/project0/smil30/smil-qname-1.mod.xsd.1 +121 -0
  617. package/videos/project0/smil30/xml.xsd +16 -0
  618. package/videos/project0/smil30/xml.xsd.1 +16 -0
  619. package/videos/project0/smil30/xml.xsd.2 +16 -0
  620. package/videos/project0/smil30.xsd +137 -0
  621. package/videos/project0/src/audio/metadata.json +5 -0
  622. package/videos/project0/src/audio/narration.mp3 +0 -0
  623. package/videos/project0/src/motion-canvas.d.ts +1 -0
  624. package/videos/project0/src/project.meta +31 -0
  625. package/videos/project0/src/project.ts +13 -0
  626. package/videos/project0/src/scenes/example.meta +5 -0
  627. package/videos/project0/src/scenes/scene1.meta +3 -0
  628. package/videos/project0/src/scenes/scene1.tsx +129 -0
  629. package/videos/project0/src/scenes/scene2.tsx +132 -0
  630. package/videos/project0/src/scenes/scene3.meta +26 -0
  631. package/videos/project0/src/scenes/scene3.tsx +188 -0
  632. package/videos/project0/tsconfig.json +4 -0
  633. package/videos/project0/vite.config.ts +10 -0
  634. package/videos/trash/output/project.mp4 +0 -0
  635. package/videos/trash/text.mp4 +0 -0
  636. package/videos/trash/video/project.tsx +549 -0
  637. package/videos/trash/video/render.ts +15 -0
  638. package/videos/trash/vite.config.ts +10 -0
  639. package/videos/tts.js +109 -0
  640. package/dist/common/src/components/pure/ProjectPageView.test/adapter.js +0 -20
  641. package/dist/common/src/lib/dailyAnimation.js +0 -130
  642. package/dist/module/src/Footer.js +0 -5
  643. package/dist/module/src/ProjectPage.js +0 -319
  644. package/dist/module/src/ProjectsPage.js +0 -1
  645. package/dist/module/src/SettingsButton.js +0 -157
  646. package/dist/module/src/TestPage.js +0 -271
  647. package/dist/module/src/TestReport.js +0 -368
  648. package/dist/module/src/components/pure/ProjectPageView.test/adapter.js +0 -17
  649. package/dist/module/src/lib/dailyAnimation.js +0 -130
  650. package/dist/types/src/components/pure/ProjectPageView.d.ts +0 -14
  651. package/dist/types/src/components/pure/ProjectPageView.test/adapter.d.ts +0 -3
  652. package/dist/types/src/components/pure/ProjectPageView.test/types.d.ts +0 -39
  653. package/dist/types/src/lib/baseBuilder.test/baseBuilder.test.pure.d.ts +0 -3
  654. package/dist/types/testeranto.config.d.ts +0 -3
  655. package/docs/testing.ai.txt +0 -106
  656. package/src/Footer.tsx +0 -8
  657. package/src/Project.scss +0 -1
  658. package/src/ProjectPage.tsx +0 -459
  659. package/src/ProjectsPage.tsx +0 -1
  660. package/src/ReportApp.scss +0 -1
  661. package/src/SettingsButton.tsx +0 -268
  662. package/src/TestPage.tsx +0 -476
  663. package/src/TestReport.scss +0 -24
  664. package/src/TestReport.tsx +0 -411
  665. package/src/components/pure/ProjectPageView.test/adapter.ts +0 -21
  666. package/src/lib/dailyAnimation.ts +0 -147
  667. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/logs.txt +0 -59
  668. package/testeranto/reports/core/src/components/pure/ProjectPageView.test/index/web/suite-0/given-basicRender/then-0/butThen/happyPath.png +0 -0
  669. /package/dist/common/src/{NavBar.js → components/pure/NavBar.js} +0 -0
  670. /package/dist/{types/src/ReportServer.d.ts → module/src/components/SunriseAnimation.test/types.js} +0 -0
  671. /package/dist/{types/src/build.d.ts → module/src/components/pure/FeaturesReporterView.test/types.js} +0 -0
  672. /package/dist/module/src/{NavBar.js → components/pure/NavBar.js} +0 -0
  673. /package/dist/types/{src/CoreTypes.d.ts → CoreTypes.d.ts} +0 -0
  674. /package/dist/types/{src/Init.d.ts → Init.d.ts} +0 -0
  675. /package/dist/types/{src/Node.d.ts → Node.d.ts} +0 -0
  676. /package/dist/types/{src/NodeSidecar.d.ts → NodeSidecar.d.ts} +0 -0
  677. /package/dist/types/{src/PM → PM}/PM_WithEslintAndTsc.d.ts +0 -0
  678. /package/dist/types/{src/PM → PM}/__tests__/nodeSidecar.testeranto.d.ts +0 -0
  679. /package/dist/types/{src/PM → PM}/__tests__/pureSidecar.testeranto.d.ts +0 -0
  680. /package/dist/types/{src/PM → PM}/__tests__/webSidecar.testeranto.d.ts +0 -0
  681. /package/dist/types/{src/PM → PM}/base.d.ts +0 -0
  682. /package/dist/types/{src/PM → PM}/index.d.ts +0 -0
  683. /package/dist/types/{src/components/SunriseAnimation.test/implementation.d.ts → PM/layers/base/PM_Base.d.ts} +0 -0
  684. /package/dist/types/{src/components/SunriseAnimation.test/index.d.ts → PM/layers/base/components/PageOperations.d.ts} +0 -0
  685. /package/dist/types/{src/components/SunriseAnimation.test/interface.d.ts → PM/layers/base/components/PageOperations.testeranto.d.ts} +0 -0
  686. /package/dist/types/{src/components/SunriseAnimation.test/specification.d.ts → PM/layers/linting/components/Linter.d.ts} +0 -0
  687. /package/dist/types/{src/lib/dailyAnimation.d.ts → PM/layers/linting/components/TypeChecker.d.ts} +0 -0
  688. /package/dist/types/{src/PM → PM}/node.d.ts +0 -0
  689. /package/dist/types/{src/PM → PM}/nodeSidecar.d.ts +0 -0
  690. /package/dist/types/{src/PM → PM}/pureSidecar.d.ts +0 -0
  691. /package/dist/types/{src/PM → PM}/sidecar.d.ts +0 -0
  692. /package/dist/types/{src/PM → PM}/webSidecar.d.ts +0 -0
  693. /package/dist/types/{src/Pure.d.ts → Pure.d.ts} +0 -0
  694. /package/dist/types/{src/Pure.test.d.ts → Pure.test.d.ts} +0 -0
  695. /package/dist/types/{src/PureSidecar.d.ts → PureSidecar.d.ts} +0 -0
  696. /package/dist/types/{src/init-docs.d.ts → ReportServer.d.ts} +0 -0
  697. /package/dist/types/{src/ReportServer.test.ts → ReportServer.test.ts}/index.d.ts +0 -0
  698. /package/dist/types/{src/ReportServerLib.d.ts → ReportServerLib.d.ts} +0 -0
  699. /package/dist/types/{src/Web.d.ts → Web.d.ts} +0 -0
  700. /package/dist/types/{src/WebSidecar.d.ts → WebSidecar.d.ts} +0 -0
  701. /package/dist/types/{src/run.d.ts → build.d.ts} +0 -0
  702. /package/dist/types/{src/components → components}/TestStatusBadge.d.ts +0 -0
  703. /package/dist/types/{src/components/pure/ProjectPageView.test → components/pure/AppFrame.test}/specification.d.ts +0 -0
  704. /package/dist/types/{src/components/pure/ProjectPageView.test → components/pure/FeaturesReporterView.test}/implementation.d.ts +0 -0
  705. /package/dist/types/{src → components/pure}/NavBar.d.ts +0 -0
  706. /package/dist/types/{src/defaultConfig.d.ts → defaultConfig.d.ts} +0 -0
  707. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/consoleDetectorPlugin.d.ts +0 -0
  708. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/eslint-formatter-testeranto.d.ts +0 -0
  709. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/featuresPlugin.d.ts +0 -0
  710. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/index.d.ts +0 -0
  711. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/inputFilesPlugin.d.ts +0 -0
  712. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/nativeImportDetectorPlugin.d.ts +0 -0
  713. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/node.d.ts +0 -0
  714. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/pure.d.ts +0 -0
  715. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/rebuildPlugin.d.ts +0 -0
  716. /package/dist/types/{src/esbuildConfigs → esbuildConfigs}/web.d.ts +0 -0
  717. /package/dist/types/{src/lib → lib}/BaseSuite.d.ts +0 -0
  718. /package/dist/types/{src/lib → lib}/BaseSuite.test/mock.d.ts +0 -0
  719. /package/dist/types/{src/lib → lib}/BaseSuite.test/node.test.d.ts +0 -0
  720. /package/dist/types/{src/lib → lib}/BaseSuite.test/pure.test.d.ts +0 -0
  721. /package/dist/types/{src/lib → lib}/BaseSuite.test/test.d.ts +0 -0
  722. /package/dist/types/{src/lib → lib}/BaseSuite.test/web.test.d.ts +0 -0
  723. /package/dist/types/{src/lib → lib}/Sidecar.d.ts +0 -0
  724. /package/dist/types/{src/lib → lib}/abstractBase.test/MockThen.d.ts +0 -0
  725. /package/dist/types/{src/lib → lib}/abstractBase.test/MockWhen.d.ts +0 -0
  726. /package/dist/types/{src/lib → lib}/abstractBase.test/adapter.d.ts +0 -0
  727. /package/dist/types/{src/lib → lib}/abstractBase.test/implementation.d.ts +0 -0
  728. /package/dist/types/{src/lib → lib}/abstractBase.test/index.d.ts +0 -0
  729. /package/dist/types/{src/lib → lib}/abstractBase.test/specification.d.ts +0 -0
  730. /package/dist/types/{src/lib → lib}/abstractBase.test/types.d.ts +0 -0
  731. /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.adapter.d.ts +0 -0
  732. /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.implementation.d.ts +0 -0
  733. /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.mock.d.ts +0 -0
  734. /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.node.d.ts +0 -0
  735. /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.specification.d.ts +0 -0
  736. /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.types.d.ts +0 -0
  737. /package/dist/types/{src/lib → lib}/baseBuilder.test/baseBuilder.test.web.d.ts +0 -0
  738. /package/dist/types/{src/lib → lib}/basebuilder.d.ts +0 -0
  739. /package/dist/types/{src/lib → lib}/classBuilder.d.ts +0 -0
  740. /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.adapter.d.ts +0 -0
  741. /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.d.ts +0 -0
  742. /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.implementation.d.ts +0 -0
  743. /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.specification.d.ts +0 -0
  744. /package/dist/types/{src/lib → lib}/classBuilder.test/classBuilder.test.types.d.ts +0 -0
  745. /package/dist/types/{src/lib → lib}/classBuilder.test/mock.d.ts +0 -0
  746. /package/dist/types/{src/lib → lib}/core.d.ts +0 -0
  747. /package/dist/types/{src/lib → lib}/core.test/MockCore.d.ts +0 -0
  748. /package/dist/types/{src/lib → lib}/core.test/core.test.adapter.d.ts +0 -0
  749. /package/dist/types/{src/lib → lib}/core.test/core.test.d.ts +0 -0
  750. /package/dist/types/{src/lib → lib}/core.test/core.test.implementation.d.ts +0 -0
  751. /package/dist/types/{src/lib → lib}/core.test/core.test.specification.d.ts +0 -0
  752. /package/dist/types/{src/lib → lib}/core.test/core.test.types.d.ts +0 -0
  753. /package/dist/types/{src/lib → lib}/mocks.test.d.ts +0 -0
  754. /package/dist/types/{src/lib → lib}/pmProxy.d.ts +0 -0
  755. /package/dist/types/{src/lib → lib}/pmProxy.test/adapter.d.ts +0 -0
  756. /package/dist/types/{src/lib → lib}/pmProxy.test/implementation.d.ts +0 -0
  757. /package/dist/types/{src/lib → lib}/pmProxy.test/index.d.ts +0 -0
  758. /package/dist/types/{src/lib → lib}/pmProxy.test/mockPM.d.ts +0 -0
  759. /package/dist/types/{src/lib → lib}/pmProxy.test/mockPMBase.d.ts +0 -0
  760. /package/dist/types/{src/lib → lib}/pmProxy.test/specification.d.ts +0 -0
  761. /package/dist/types/{src/lib → lib}/pmProxy.test/types.d.ts +0 -0
  762. /package/dist/types/{src/lib → lib}/types.d.ts +0 -0
  763. /package/dist/types/{src/mothership → mothership}/index.d.ts +0 -0
  764. /package/dist/types/{src/mothership → mothership}/test.d.ts +0 -0
  765. /package/dist/types/{src/utils → utils}/buildTemplates.d.ts +0 -0
  766. /package/dist/types/{src/utils → utils}/queue.d.ts +0 -0
  767. /package/dist/types/{src/utils.d.ts → utils.d.ts} +0 -0
  768. /package/src/{NavBar.tsx → components/pure/NavBar.tsx} +0 -0
package/src/PM/pure.ts CHANGED
@@ -123,37 +123,31 @@ export class PM_Pure extends PM {
123
123
  }
124
124
 
125
125
  existsSync(destFolder: string): Promise<boolean> {
126
- return globalThis["existsSync"](
127
- this.testResourceConfiguration.fs + "/" + destFolder
128
- );
126
+ // Pure runtime doesn't need filesystem checks
127
+ return Promise.resolve(true);
129
128
  }
130
129
 
131
130
  mkdirSync() {
132
- return globalThis["mkdirSync"](this.testResourceConfiguration.fs + "/");
131
+ // Pure runtime doesn't need directories
132
+ return true;
133
133
  }
134
134
 
135
135
  write(uid: number, contents: string) {
136
- return globalThis["write"](uid, contents);
136
+ // Pure runtime doesn't need file writing
137
+ return Promise.resolve(true);
137
138
  }
138
139
 
139
- writeFileSync(x) {
140
- const z = arguments["0"];
141
-
142
- const filepath = z[0];
143
- const contents = z[1];
144
-
145
- return globalThis["writeFileSync"](
146
- this.testResourceConfiguration.fs + "/" + filepath,
147
- contents,
148
- this.testResourceConfiguration.name
149
- );
140
+ writeFileSync() {
141
+ // Pure runtime doesn't need file writing
142
+ return Promise.resolve(true);
150
143
  }
151
144
 
152
- createWriteStream(filepath: string): any {
153
- return globalThis["createWriteStream"](
154
- this.testResourceConfiguration.fs + "/" + filepath,
155
- this.testResourceConfiguration.name
156
- );
145
+ createWriteStream() {
146
+ // Pure runtime doesn't need file streams
147
+ return {
148
+ write: () => true,
149
+ end: () => {}
150
+ };
157
151
  }
158
152
 
159
153
  end(uid: number) {
@@ -24,7 +24,7 @@ export class PM_Pure_Sidecar extends PM_sidecar {
24
24
  process.on("message", (message: { path?: string }) => {
25
25
  if (message.path) {
26
26
  this.client = net.createConnection(message.path, () => {
27
- // super.start()
27
+ // No stdout/stderr logging for pure sidecars
28
28
  res();
29
29
  });
30
30
  }
File without changes
package/src/PM/web.ts CHANGED
@@ -50,7 +50,7 @@ export class PM_Web extends PM {
50
50
  return window["waitForSelector"](p, s);
51
51
  }
52
52
 
53
- screencast(o: ScreencastOptions, p: string | Page): Promise<string> {
53
+ screencast(opts: ScreencastOptions, page: string | Page): Promise<string> {
54
54
  return window["screencast"](
55
55
  {
56
56
  ...opts,
@@ -136,6 +136,7 @@ export class PM_Web extends PM {
136
136
  }
137
137
 
138
138
  writeFileSync(x) {
139
+ // eslint-disable-next-line prefer-rest-params
139
140
  const z = arguments["0"];
140
141
 
141
142
  const filepath = z[0];
package/src/Pure.test.ts CHANGED
@@ -80,7 +80,6 @@ const implementation: ITestImplementation<I, O> = {
80
80
 
81
81
  whens: {
82
82
  applyProxy: (proxyType: string) => (store) => {
83
- console.debug(`[DEBUG] Applying proxy type: ${proxyType}`);
84
83
  switch (proxyType) {
85
84
  case "invalidConfig":
86
85
  throw new Error("Invalid configuration");
@@ -113,21 +112,18 @@ const implementation: ITestImplementation<I, O> = {
113
112
  }
114
113
  },
115
114
  addArtifact: (artifact: Promise<string>) => (store) => {
116
- console.debug("[DEBUG] Adding artifact");
117
115
  return {
118
116
  ...store,
119
117
  artifacts: [...(store.artifacts || []), artifact],
120
118
  };
121
119
  },
122
120
  setTestJobs: (jobs: any[]) => (store) => {
123
- console.debug("[DEBUG] Setting test jobs");
124
121
  return {
125
122
  ...store,
126
123
  testJobs: jobs,
127
124
  };
128
125
  },
129
126
  modifySpecs: (modifier: (specs: any) => any[]) => (store) => {
130
- console.debug("[DEBUG] Modifying specs");
131
127
  return {
132
128
  ...store,
133
129
  specs: modifier(store.specs || []),
@@ -187,16 +183,16 @@ const implementation: ITestImplementation<I, O> = {
187
183
  return store;
188
184
  },
189
185
  verifyError: (expectedError: string) => (store) => {
190
- try {
191
- store.pm.writeFileSync("test", "content");
192
- throw new Error("Expected error but none was thrown");
193
- } catch (error) {
194
- if (!error.message.includes(expectedError)) {
195
- throw new Error(
196
- `Expected error "${expectedError}", got "${error.message}"`
197
- );
198
- }
199
- }
186
+ // try {
187
+ // store.pm.writeFileSync("test", "content");
188
+ // throw new Error("Expected error but none was thrown");
189
+ // } catch (error) {
190
+ // if (!error.message.includes(expectedError)) {
191
+ // throw new Error(
192
+ // `Expected error "${expectedError}", got "${error.message}"`
193
+ // );
194
+ // }
195
+ // }
200
196
  return store;
201
197
  },
202
198
  verifyResourceConfig: () => (store) => {
@@ -353,13 +349,18 @@ const specification: ITestSpecification<I, O> = (Suite, Given, When, Then) => [
353
349
 
354
350
  // Test adapter for PureTesteranto
355
351
  const testAdapter = {
356
- beforeEach: async (subject, initializer) => {
357
- const pm = initializer();
358
- pm.debug(`Initializing test with subject: ${subject}`);
359
- return { pm };
352
+ beforeEach: async (subject, initializer, testResource, initialValues, pm) => {
353
+ const initializedPm = initializer();
354
+ return { pm: initializedPm };
355
+ },
356
+ andWhen: async (store, whenCB) => {
357
+ whenCB(store);
358
+ return store;
359
+ },
360
+ butThen: async (store, thenCB) => {
361
+ thenCB(store);
362
+ return store;
360
363
  },
361
- andWhen: async (store, whenCB) => whenCB(store),
362
- butThen: async (store, thenCB) => thenCB(store),
363
364
  afterEach: async (store) => store,
364
365
  afterAll: async () => {},
365
366
  beforeAll: async (input, testResource) => ({} as IPM),
package/src/Pure.ts CHANGED
@@ -58,7 +58,7 @@ export class PureTesteranto<
58
58
  // }
59
59
 
60
60
  try {
61
- const result = await this.testJobs[0].receiveTestResourceConfig(pm);
61
+ const result = this.testJobs[0].receiveTestResourceConfig(pm);
62
62
  return result;
63
63
  } catch (e) {
64
64
  console.error("[ERROR] Test job failed:", e);
package/src/README.md ADDED
@@ -0,0 +1,66 @@
1
+ # Testeranto src
2
+
3
+ ## imports
4
+
5
+ External packages are imported first, then local files. Sort these local import statements by "distance" from the current file.
6
+
7
+ ## runtimes
8
+
9
+ there are 3 runtimes- web, node and pure. They all produce a file `exit.log` which describes the final output, or error of a test.
10
+
11
+ This file will capture all uncaught errors.
12
+
13
+ If the last line in this file is '0', the test has passed.
14
+ If the last line in this file is a number N greater then zero, the test has run to completion, but failed N times.
15
+ If the last line in this file is a number N less then zero, the test has run errored with code N.
16
+
17
+ ### web
18
+
19
+ - runs via node spawn on v8.
20
+ - for test subjects which use native packages. (fs, crypto)
21
+ - automatically produces creates logs:
22
+ -- exit.log
23
+ -- stdout.log
24
+ -- stderr.log
25
+
26
+ ### browser
27
+
28
+ - runs via chrome via puppeteer.
29
+ - for test subjects which use client globals (window, document)
30
+ - automatically produces creates logs:
31
+ -- exit.log
32
+ -- error.log
33
+ -- warn.log
34
+ -- info.log
35
+ -- debug.log
36
+
37
+ ### pure
38
+
39
+ - runs in the main process via dynamic import
40
+ - for test subjects which use no platform specific features.
41
+ - it does not have access to IO, and thus produces no logs automatically. A warning will be shown during the bundle process and calls to console.log will spew into main thread.
42
+ - automatically produces creates logs:
43
+ -- exit.log
44
+
45
+ ## metafile
46
+
47
+ The metafile is extra data emitted by the bundling process. Through it, the src files of a test can be ascertained. There is 1 metafile for each of the runtimes
48
+
49
+ ## features reporter
50
+
51
+ The report app is capable of showing the features and documentation "collated" into a single place. This is a feature of the React app and has its own route. The `FeaturesReporter` component gathers all the features from all `tests.json` files across all projects, along with the status of individual tests and larger jobs. Maintaining the original file structures, it displays all these features and statuses in a single view, providing a comprehensive overview of the testing landscape. This view takes the list of tests and using the file structures, shows each test as an entry in a tree matching the source code directories.
52
+
53
+ ## Core Testing Principles
54
+
55
+ 1. Tests follow BDD structure with Given/When/Then
56
+ 2. All tests are strongly typed using I/O/M types
57
+ 3. Test files are organized in a consistent structure:
58
+ /src
59
+ TEST_SUBJECT.ts
60
+ TEST_SUBJECT.test/
61
+ implementation.ts - Concrete test operations
62
+ specification.ts - Test scenarios and assertions
63
+ adapter.ts - Test lifecycle hooks
64
+ types.ts - Type definitions
65
+ index.ts - Main test export
66
+ 4. If the test subject is an abstract class, implement this simplest possible mock, and test that mock.
package/src/Types.ts CHANGED
@@ -191,6 +191,7 @@ export type ITestconfig = {
191
191
  src: string;
192
192
  tests: ITestTypes[];
193
193
  webPlugins: IPluginFactory[];
194
+ webLoaders: Record<string, string>;
194
195
  };
195
196
 
196
197
  export type IBuiltConfig = { buildDir: string } & ITestconfig;
package/src/build.ts CHANGED
@@ -6,25 +6,15 @@ import path from "path";
6
6
  import readline from "readline";
7
7
  import esbuild from "esbuild";
8
8
 
9
- import esbuildNodeConfiger from "./esbuildConfigs/node.js";
10
- import esbuildWebConfiger from "./esbuildConfigs/web.js";
11
- import esbuildImportConfiger from "./esbuildConfigs/pure.js";
12
- import webHtmlFrame from "./web.html.js";
13
-
14
- import { getRunnables } from "./utils.js";
15
- import {
16
- ITestconfig,
17
- IBuiltConfig,
18
- IProject,
19
- IRunTime,
20
- ITestTypes,
21
- } from "./Types.js";
22
-
23
- import {
24
- // TestPageHtml,
25
- // ProjectPageHtml,
26
- AppHtml,
27
- } from "./utils/buildTemplates.js";
9
+ import { ITestconfig, IRunTime, ITestTypes, IBuiltConfig } from "./lib";
10
+ import { IProject } from "./Types";
11
+ import { getRunnables } from "./utils";
12
+ import { AppHtml } from "./utils/buildTemplates";
13
+
14
+ import esbuildNodeConfiger from "./esbuildConfigs/node";
15
+ import esbuildWebConfiger from "./esbuildConfigs/web";
16
+ import esbuildImportConfiger from "./esbuildConfigs/pure";
17
+ import webHtmlFrame from "./web.html";
28
18
 
29
19
  readline.emitKeypressEvents(process.stdin);
30
20
  if (process.stdin.isTTY) process.stdin.setRawMode(true);
@@ -69,23 +59,23 @@ import(process.cwd() + "/" + "testeranto.config.ts").then(async (module) => {
69
59
  return Array.from(meta(config.tests, new Set()));
70
60
  };
71
61
 
72
- const getSideCars = (runtime?: IRunTime): string[] => {
73
- return Array.from(
74
- new Set(
75
- config.tests
76
- .reduce((mm, t) => {
77
- mm = mm.concat(t[3]);
78
- return mm;
79
- }, [] as ITestTypes[])
80
- .filter((t) => {
81
- return t[1] === runtime;
82
- })
83
- .map((t) => {
84
- return t[0];
85
- })
86
- )
87
- );
88
- };
62
+ // const getSideCars = (runtime?: IRunTime): string[] => {
63
+ // return Array.from(
64
+ // new Set(
65
+ // config.tests
66
+ // .reduce((mm, t) => {
67
+ // mm = mm.concat(t[3]);
68
+ // return mm;
69
+ // }, [] as ITestTypes[])
70
+ // .filter((t) => {
71
+ // return t[1] === runtime;
72
+ // })
73
+ // .map((t) => {
74
+ // return t[0];
75
+ // })
76
+ // )
77
+ // );
78
+ // };
89
79
 
90
80
  const config: IBuiltConfig = {
91
81
  ...rawConfig,
@@ -149,10 +139,8 @@ import(process.cwd() + "/" + "testeranto.config.ts").then(async (module) => {
149
139
  }
150
140
  };
151
141
 
152
- // Write HTML files
153
142
  fs.writeFileSync(`${process.cwd()}/testeranto/projects.html`, AppHtml());
154
143
 
155
- // Create project-specific HTML files
156
144
  Object.keys(bigConfig.projects).forEach((projectName) => {
157
145
  console.log(`testeranto/reports/${projectName}`);
158
146
  if (!fs.existsSync(`testeranto/reports/${projectName}`)) {
@@ -163,19 +151,6 @@ import(process.cwd() + "/" + "testeranto.config.ts").then(async (module) => {
163
151
  `testeranto/reports/${projectName}/config.json`,
164
152
  JSON.stringify(config, null, 2)
165
153
  );
166
-
167
- // fs.writeFileSync(
168
- // `${process.cwd()}/testeranto/reports/${projectName}/index.html`,
169
- // ProjectPageHtml(projectName)
170
- // );
171
-
172
- // Create runtime-specific HTML files
173
- // ["node", "web", "pure"].forEach((runtime) => {
174
- // // fs.writeFileSync(
175
- // // `${process.cwd()}/testeranto/reports/${projectName}/${runtime}.html`,
176
- // // TestPageHtml(`${projectName} - ${runtime}`)
177
- // // );
178
- // });
179
154
  });
180
155
 
181
156
  Promise.resolve(
@@ -195,13 +170,14 @@ import(process.cwd() + "/" + "testeranto.config.ts").then(async (module) => {
195
170
  )}/${sourceFileNameMinusJs}.html`
196
171
  );
197
172
  const jsfilePath = `./${sourceFileNameMinusJs}.mjs`;
173
+ const cssFilePath = `./${sourceFileNameMinusJs}.css`;
198
174
 
199
175
  return fs.promises
200
176
  .mkdir(path.dirname(htmlFilePath), { recursive: true })
201
177
  .then((x) =>
202
178
  fs.writeFileSync(
203
179
  htmlFilePath,
204
- webHtmlFrame(jsfilePath, htmlFilePath)
180
+ webHtmlFrame(jsfilePath, htmlFilePath, cssFilePath)
205
181
  )
206
182
  );
207
183
  })
@@ -230,8 +206,6 @@ import(process.cwd() + "/" + "testeranto.config.ts").then(async (module) => {
230
206
  .join(".")}/${runtime}`;
231
207
 
232
208
  await fs.mkdirSync(folder, { recursive: true });
233
-
234
- // fs.writeFileSync(`${folder}/index.html`, TestPageHtml(testName));
235
209
  });
236
210
  });
237
211
 
@@ -1,8 +1,11 @@
1
1
  import Testeranto from "testeranto-react/src/react-dom/component/web";
2
-
3
2
  import { implementation } from "./implementation";
4
3
  import { specification } from "./specification";
5
- import { I, O } from "./types";
6
- import { ProjectPageView } from "../ProjectPageView";
4
+ import { SunriseAnimation } from "./SunriseAnimation";
5
+ import React from "react";
7
6
 
8
- export default Testeranto<I, O>(implementation, specification, ProjectPageView);
7
+ export default Testeranto(
8
+ implementation,
9
+ specification,
10
+ SunriseAnimation
11
+ );
@@ -0,0 +1,49 @@
1
+ import { IInput, ISelection, ISubject } from './types';
2
+ import { ITestInterface } from "../../CoreTypes";
3
+ import * as React from 'react';
4
+ import * as ReactDom from 'react-dom/client';
5
+ import { SunriseAnimation } from './SunriseAnimation';
6
+
7
+ export const interface: ITestInterface<{
8
+ iinput: IInput;
9
+ isubject: ISubject;
10
+ istore: ISelection;
11
+ iselection: ISelection;
12
+ given: (props: IInput) => ISelection;
13
+ when: (sel: ISelection) => ISelection;
14
+ then: (sel: ISelection) => Promise<ISelection>;
15
+ }> = {
16
+ beforeEach: async (subject, initializer) => {
17
+ const container = document.createElement('div');
18
+ document.body.appendChild(container);
19
+ const root = ReactDom.createRoot(container);
20
+ const props = initializer();
21
+ const reactElement = React.createElement(subject, props);
22
+ root.render(reactElement);
23
+
24
+ return {
25
+ container,
26
+ reactElement,
27
+ domRoot: root,
28
+ animationElement: container.querySelector('.sunrise-animation')
29
+ };
30
+ },
31
+
32
+ afterEach: async (store) => {
33
+ store.domRoot.unmount();
34
+ document.body.removeChild(store.container);
35
+ return store;
36
+ },
37
+
38
+ andWhen: async (store, whenCB) => {
39
+ return whenCB(store);
40
+ },
41
+
42
+ butThen: async (store, thenCB) => {
43
+ return thenCB(store);
44
+ },
45
+
46
+ afterAll: () => {},
47
+ beforeAll: () => ({}),
48
+ assertThis: (x) => x,
49
+ };
@@ -0,0 +1,53 @@
1
+ import { Ibdd_in, Ibdd_out } from "../../CoreTypes";
2
+ import * as React from 'react';
3
+ import * as ReactDom from 'react-dom/client';
4
+
5
+ export type IInput = {
6
+ active: boolean;
7
+ duration?: number;
8
+ color?: string;
9
+ };
10
+
11
+ export type ISelection = {
12
+ container: HTMLDivElement;
13
+ reactElement: React.ReactElement;
14
+ domRoot: ReactDom.Root;
15
+ animationElement: HTMLElement | null;
16
+ };
17
+
18
+ export type IStore = ISelection;
19
+
20
+ export type ISubject = {
21
+ container: HTMLDivElement;
22
+ domRoot: ReactDom.Root;
23
+ };
24
+
25
+ export type O = Ibdd_out<
26
+ // Suites
27
+ {
28
+ Default: [string];
29
+ AnimationBehavior: [string];
30
+ Customization: [string];
31
+ },
32
+ // Givens
33
+ {
34
+ Default: [];
35
+ Active: [];
36
+ Inactive: [];
37
+ WithCustomDuration: [number];
38
+ WithCustomColor: [string];
39
+ },
40
+ // Whens
41
+ {
42
+ ToggleActive: [];
43
+ },
44
+ // Thens
45
+ {
46
+ RendersContainer: [];
47
+ ShowsWhenActive: [];
48
+ HidesWhenInactive: [];
49
+ HasAnimation: [];
50
+ HasDuration: [number];
51
+ HasColor: [string];
52
+ }
53
+ >;
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
1
2
  import React from 'react';
2
3
  import { Badge } from 'react-bootstrap';
3
4
 
@@ -16,50 +17,28 @@ type TestStatusBadgeProps = {
16
17
  };
17
18
 
18
19
  export const TestStatusBadge = (props: TestStatusBadgeProps) => {
19
- // Enhanced logging
20
- console.groupCollapsed(`[TestStatusBadge] Rendering for ${props.testName}`);
21
- console.log('Raw props:', JSON.parse(JSON.stringify(props)));
22
-
23
20
  // Simplified status determination
24
21
  const hasTests = props.testsExist !== false;
25
22
  const testCompleted = props.runTimeErrors !== -1;
26
23
  const hasRuntimeErrors = props.runTimeErrors > 0;
27
24
 
28
- console.log('Status flags:', {
29
- hasTests,
30
- testCompleted,
31
- hasRuntimeErrors,
32
- typeErrors: props.typeErrors,
33
- staticErrors: props.staticErrors
34
- });
35
-
36
25
  let bddStatus;
37
26
  if (!hasTests) {
38
- console.warn('No tests.json found - marking as failed');
39
27
  bddStatus = { text: '❌ No Tests', variant: 'danger' };
40
28
  } else if (!testCompleted) {
41
- console.warn('Test did not complete (runTimeErrors=-1) - marking as failed');
42
29
  bddStatus = { text: '❌ No Tests', variant: 'danger' };
43
30
  } else if (hasRuntimeErrors) {
44
- console.warn(`Test failed with ${props.runTimeErrors} runtime errors`);
45
31
  bddStatus = { text: `❌ BDD (${props.runTimeErrors})`, variant: 'danger' };
46
32
  } else {
47
- console.log('Test passed all runtime checks');
48
33
  bddStatus = { text: '✅ BDD', variant: 'success' };
49
34
  }
50
35
 
51
36
  if (props.variant === 'compact') {
52
- console.log('Rendering compact badge:', bddStatus);
37
+
53
38
  console.groupEnd();
54
39
  return <Badge bg={bddStatus.variant}>{bddStatus.text}</Badge>;
55
40
  }
56
41
 
57
- console.log('Rendering full badge set with:', {
58
- bddStatus,
59
- typeErrors: props.typeErrors,
60
- staticErrors: props.staticErrors
61
- });
62
- console.groupEnd();
63
42
 
64
43
  return (
65
44
  <div className="d-flex gap-2">
@@ -0,0 +1,72 @@
1
+ import { assert } from "chai";
2
+ import React from "react";
3
+
4
+ import { ITestImplementation } from "../../../CoreTypes";
5
+
6
+ import { I, ISelection, O } from "./types";
7
+
8
+ export const implementation: ITestImplementation<I, O> = {
9
+ suites: {
10
+ Default: "AppFrame basic rendering",
11
+ Layout: "AppFrame layout structure",
12
+ },
13
+
14
+ givens: {
15
+ Default: () => (selection: ISelection) => ({
16
+ ...selection,
17
+ children: <div>Test Content</div>,
18
+ }),
19
+ WithChildren: (children: React.ReactNode) => () => (selection: ISelection) => ({
20
+ ...selection,
21
+ children,
22
+ }),
23
+ },
24
+
25
+ whens: {},
26
+
27
+ thens: {
28
+ takeScreenshot:
29
+ (name: string) =>
30
+ async ({ htmlElement, container }, pm) => {
31
+ if (!container) throw new Error('Container not found');
32
+ const p = await pm.page();
33
+ await pm.customScreenShot({ path: `${name}.png` }, p);
34
+ return {
35
+ htmlElement,
36
+ reactElement: React.createElement('div'),
37
+ domRoot: container,
38
+ container
39
+ };
40
+ },
41
+ RendersContainer: () => async ({ htmlElement, container }) => {
42
+ // const container = htmlElement.querySelector('.min-vh-100');
43
+ assert.exists(container, 'Should have min-vh-100 container');
44
+ return {
45
+ htmlElement,
46
+ reactElement: React.createElement('div'),
47
+ domRoot: container as HTMLElement,
48
+ container: container as HTMLElement
49
+ };
50
+ },
51
+ HasMainContent: () => async ({ htmlElement }) => {
52
+ const main = htmlElement.querySelector('main.flex-grow-1');
53
+ assert.exists(main, 'Should have main content area');
54
+ return { htmlElement };
55
+ },
56
+ HasFooter: () => async ({ htmlElement }) => {
57
+ const footer = htmlElement.querySelector('footer');
58
+ assert.exists(footer, 'Should have footer');
59
+ return { htmlElement };
60
+ },
61
+ HasSettingsButton: () => async ({ htmlElement }) => {
62
+ const button = htmlElement.querySelector('footer button');
63
+ assert.exists(button, 'Should have settings button in footer');
64
+ return { htmlElement };
65
+ },
66
+ HasTesterantoLink: () => async ({ htmlElement }) => {
67
+ const link = htmlElement.querySelector('footer a[href*="testeranto"]');
68
+ assert.exists(link, 'Should have testeranto link in footer');
69
+ return { htmlElement };
70
+ },
71
+ },
72
+ };
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+
3
+ import Testeranto from "testeranto-react/src/react-dom/component/web";
4
+
5
+ import { implementation } from "./implementation";
6
+ import { specification } from "./specification";
7
+ import { AppFrame } from "../AppFrame";
8
+
9
+
10
+ import "../../../App.scss";
11
+
12
+ const WrappedAppFrame: React.FC<{ children?: React.ReactNode }> = ({ children }) => (
13
+ <div id="test-root">
14
+ <AppFrame data-testid="app-frame">{children}</AppFrame>
15
+ </div>
16
+ );
17
+
18
+ export default Testeranto(
19
+ implementation,
20
+ specification,
21
+ WrappedAppFrame
22
+ );