@matter/testing 0.11.0-alpha.0-20241027-de3c9d280

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 (226) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +40 -0
  3. package/bin/test.js +7 -0
  4. package/chip/Dockerfile +23 -0
  5. package/dist/cjs/chip/pics-file.d.ts +20 -0
  6. package/dist/cjs/chip/pics-file.d.ts.map +1 -0
  7. package/dist/cjs/chip/pics-file.js +79 -0
  8. package/dist/cjs/chip/pics-file.js.map +6 -0
  9. package/dist/cjs/chip.d.ts +60 -0
  10. package/dist/cjs/chip.d.ts.map +1 -0
  11. package/dist/cjs/chip.js +306 -0
  12. package/dist/cjs/chip.js.map +6 -0
  13. package/dist/cjs/cli.d.ts +9 -0
  14. package/dist/cjs/cli.d.ts.map +1 -0
  15. package/dist/cjs/cli.js +115 -0
  16. package/dist/cjs/cli.js.map +6 -0
  17. package/dist/cjs/failure-detail.d.ts +19 -0
  18. package/dist/cjs/failure-detail.d.ts.map +1 -0
  19. package/dist/cjs/failure-detail.js +143 -0
  20. package/dist/cjs/failure-detail.js.map +6 -0
  21. package/dist/cjs/global-declarations.d.ts +38 -0
  22. package/dist/cjs/global-declarations.d.ts.map +1 -0
  23. package/dist/cjs/global-declarations.js +8 -0
  24. package/dist/cjs/global-declarations.js.map +6 -0
  25. package/dist/cjs/global-definitions.d.ts +7 -0
  26. package/dist/cjs/global-definitions.d.ts.map +1 -0
  27. package/dist/cjs/global-definitions.js +50 -0
  28. package/dist/cjs/global-definitions.js.map +6 -0
  29. package/dist/cjs/index.d.ts +10 -0
  30. package/dist/cjs/index.d.ts.map +1 -0
  31. package/dist/cjs/index.js +27 -0
  32. package/dist/cjs/index.js.map +6 -0
  33. package/dist/cjs/mocha.d.ts +36 -0
  34. package/dist/cjs/mocha.d.ts.map +1 -0
  35. package/dist/cjs/mocha.js +155 -0
  36. package/dist/cjs/mocha.js.map +6 -0
  37. package/dist/cjs/mocharc.cjs +68 -0
  38. package/dist/cjs/mocharc.d.cts +7 -0
  39. package/dist/cjs/mocks/crypto.d.ts +7 -0
  40. package/dist/cjs/mocks/crypto.d.ts.map +1 -0
  41. package/dist/cjs/mocks/crypto.js +79 -0
  42. package/dist/cjs/mocks/crypto.js.map +6 -0
  43. package/dist/cjs/mocks/environment.d.ts +7 -0
  44. package/dist/cjs/mocks/environment.d.ts.map +1 -0
  45. package/dist/cjs/mocks/environment.js +7 -0
  46. package/dist/cjs/mocks/environment.js.map +6 -0
  47. package/dist/cjs/mocks/index.d.ts +10 -0
  48. package/dist/cjs/mocks/index.d.ts.map +1 -0
  49. package/dist/cjs/mocks/index.js +27 -0
  50. package/dist/cjs/mocks/index.js.map +6 -0
  51. package/dist/cjs/mocks/logging.d.ts +28 -0
  52. package/dist/cjs/mocks/logging.d.ts.map +1 -0
  53. package/dist/cjs/mocks/logging.js +93 -0
  54. package/dist/cjs/mocks/logging.js.map +6 -0
  55. package/dist/cjs/mocks/time.d.ts +88 -0
  56. package/dist/cjs/mocks/time.d.ts.map +1 -0
  57. package/dist/cjs/mocks/time.js +251 -0
  58. package/dist/cjs/mocks/time.js.map +6 -0
  59. package/dist/cjs/node.d.ts +9 -0
  60. package/dist/cjs/node.d.ts.map +1 -0
  61. package/dist/cjs/node.js +112 -0
  62. package/dist/cjs/node.js.map +6 -0
  63. package/dist/cjs/options.d.ts +19 -0
  64. package/dist/cjs/options.d.ts.map +1 -0
  65. package/dist/cjs/options.js +62 -0
  66. package/dist/cjs/options.js.map +6 -0
  67. package/dist/cjs/package.json +6 -0
  68. package/dist/cjs/reporter.d.ts +50 -0
  69. package/dist/cjs/reporter.d.ts.map +1 -0
  70. package/dist/cjs/reporter.js +137 -0
  71. package/dist/cjs/reporter.js.map +6 -0
  72. package/dist/cjs/runner.d.ts +21 -0
  73. package/dist/cjs/runner.d.ts.map +1 -0
  74. package/dist/cjs/runner.js +113 -0
  75. package/dist/cjs/runner.js.map +6 -0
  76. package/dist/cjs/util/docker.d.ts +27 -0
  77. package/dist/cjs/util/docker.d.ts.map +1 -0
  78. package/dist/cjs/util/docker.js +163 -0
  79. package/dist/cjs/util/docker.js.map +6 -0
  80. package/dist/cjs/util/files.d.ts +7 -0
  81. package/dist/cjs/util/files.d.ts.map +1 -0
  82. package/dist/cjs/util/files.js +42 -0
  83. package/dist/cjs/util/files.js.map +6 -0
  84. package/dist/cjs/util/node-shims.d.ts +7 -0
  85. package/dist/cjs/util/node-shims.d.ts.map +1 -0
  86. package/dist/cjs/util/node-shims.js +12 -0
  87. package/dist/cjs/util/node-shims.js.map +6 -0
  88. package/dist/cjs/util/trace-unhandled.d.ts +9 -0
  89. package/dist/cjs/util/trace-unhandled.d.ts.map +1 -0
  90. package/dist/cjs/util/trace-unhandled.js +48 -0
  91. package/dist/cjs/util/trace-unhandled.js.map +6 -0
  92. package/dist/cjs/util/wtf.d.ts +10 -0
  93. package/dist/cjs/util/wtf.d.ts.map +1 -0
  94. package/dist/cjs/util/wtf.js +53 -0
  95. package/dist/cjs/util/wtf.js.map +6 -0
  96. package/dist/cjs/web.d.ts +8 -0
  97. package/dist/cjs/web.d.ts.map +1 -0
  98. package/dist/cjs/web.js +165 -0
  99. package/dist/cjs/web.js.map +6 -0
  100. package/dist/esm/chip/pics-file.d.ts +20 -0
  101. package/dist/esm/chip/pics-file.d.ts.map +1 -0
  102. package/dist/esm/chip/pics-file.js +59 -0
  103. package/dist/esm/chip/pics-file.js.map +6 -0
  104. package/dist/esm/chip.d.ts +60 -0
  105. package/dist/esm/chip.d.ts.map +1 -0
  106. package/dist/esm/chip.js +286 -0
  107. package/dist/esm/chip.js.map +6 -0
  108. package/dist/esm/cli.d.ts +9 -0
  109. package/dist/esm/cli.d.ts.map +1 -0
  110. package/dist/esm/cli.js +85 -0
  111. package/dist/esm/cli.js.map +6 -0
  112. package/dist/esm/failure-detail.d.ts +19 -0
  113. package/dist/esm/failure-detail.d.ts.map +1 -0
  114. package/dist/esm/failure-detail.js +113 -0
  115. package/dist/esm/failure-detail.js.map +6 -0
  116. package/dist/esm/global-declarations.d.ts +38 -0
  117. package/dist/esm/global-declarations.d.ts.map +1 -0
  118. package/dist/esm/global-declarations.js +7 -0
  119. package/dist/esm/global-declarations.js.map +6 -0
  120. package/dist/esm/global-definitions.d.ts +7 -0
  121. package/dist/esm/global-definitions.d.ts.map +1 -0
  122. package/dist/esm/global-definitions.js +27 -0
  123. package/dist/esm/global-definitions.js.map +6 -0
  124. package/dist/esm/index.d.ts +10 -0
  125. package/dist/esm/index.d.ts.map +1 -0
  126. package/dist/esm/index.js +10 -0
  127. package/dist/esm/index.js.map +6 -0
  128. package/dist/esm/mocha.d.ts +36 -0
  129. package/dist/esm/mocha.d.ts.map +1 -0
  130. package/dist/esm/mocha.js +135 -0
  131. package/dist/esm/mocha.js.map +6 -0
  132. package/dist/esm/mocharc.cjs +68 -0
  133. package/dist/esm/mocharc.d.cts +7 -0
  134. package/dist/esm/mocks/crypto.d.ts +7 -0
  135. package/dist/esm/mocks/crypto.d.ts.map +1 -0
  136. package/dist/esm/mocks/crypto.js +59 -0
  137. package/dist/esm/mocks/crypto.js.map +6 -0
  138. package/dist/esm/mocks/environment.d.ts +7 -0
  139. package/dist/esm/mocks/environment.d.ts.map +1 -0
  140. package/dist/esm/mocks/environment.js +6 -0
  141. package/dist/esm/mocks/environment.js.map +6 -0
  142. package/dist/esm/mocks/index.d.ts +10 -0
  143. package/dist/esm/mocks/index.d.ts.map +1 -0
  144. package/dist/esm/mocks/index.js +10 -0
  145. package/dist/esm/mocks/index.js.map +6 -0
  146. package/dist/esm/mocks/logging.d.ts +28 -0
  147. package/dist/esm/mocks/logging.d.ts.map +1 -0
  148. package/dist/esm/mocks/logging.js +63 -0
  149. package/dist/esm/mocks/logging.js.map +6 -0
  150. package/dist/esm/mocks/time.d.ts +88 -0
  151. package/dist/esm/mocks/time.d.ts.map +1 -0
  152. package/dist/esm/mocks/time.js +231 -0
  153. package/dist/esm/mocks/time.js.map +6 -0
  154. package/dist/esm/node.d.ts +9 -0
  155. package/dist/esm/node.d.ts.map +1 -0
  156. package/dist/esm/node.js +82 -0
  157. package/dist/esm/node.js.map +6 -0
  158. package/dist/esm/options.d.ts +19 -0
  159. package/dist/esm/options.d.ts.map +1 -0
  160. package/dist/esm/options.js +42 -0
  161. package/dist/esm/options.js.map +6 -0
  162. package/dist/esm/package.json +6 -0
  163. package/dist/esm/reporter.d.ts +50 -0
  164. package/dist/esm/reporter.d.ts.map +1 -0
  165. package/dist/esm/reporter.js +107 -0
  166. package/dist/esm/reporter.js.map +6 -0
  167. package/dist/esm/runner.d.ts +21 -0
  168. package/dist/esm/runner.d.ts.map +1 -0
  169. package/dist/esm/runner.js +83 -0
  170. package/dist/esm/runner.js.map +6 -0
  171. package/dist/esm/util/docker.d.ts +27 -0
  172. package/dist/esm/util/docker.d.ts.map +1 -0
  173. package/dist/esm/util/docker.js +133 -0
  174. package/dist/esm/util/docker.js.map +6 -0
  175. package/dist/esm/util/files.d.ts +7 -0
  176. package/dist/esm/util/files.d.ts.map +1 -0
  177. package/dist/esm/util/files.js +22 -0
  178. package/dist/esm/util/files.js.map +6 -0
  179. package/dist/esm/util/node-shims.d.ts +7 -0
  180. package/dist/esm/util/node-shims.d.ts.map +1 -0
  181. package/dist/esm/util/node-shims.js +11 -0
  182. package/dist/esm/util/node-shims.js.map +6 -0
  183. package/dist/esm/util/trace-unhandled.d.ts +9 -0
  184. package/dist/esm/util/trace-unhandled.d.ts.map +1 -0
  185. package/dist/esm/util/trace-unhandled.js +18 -0
  186. package/dist/esm/util/trace-unhandled.js.map +6 -0
  187. package/dist/esm/util/wtf.d.ts +10 -0
  188. package/dist/esm/util/wtf.d.ts.map +1 -0
  189. package/dist/esm/util/wtf.js +23 -0
  190. package/dist/esm/util/wtf.js.map +6 -0
  191. package/dist/esm/web.d.ts +8 -0
  192. package/dist/esm/web.d.ts.map +1 -0
  193. package/dist/esm/web.js +135 -0
  194. package/dist/esm/web.js.map +6 -0
  195. package/package.json +72 -0
  196. package/src/chip/pics-file.ts +71 -0
  197. package/src/chip/pics.properties +52 -0
  198. package/src/chip.ts +420 -0
  199. package/src/cli.ts +122 -0
  200. package/src/failure-detail.ts +126 -0
  201. package/src/global-declarations.ts +50 -0
  202. package/src/global-definitions.ts +35 -0
  203. package/src/index.html +16 -0
  204. package/src/index.ts +10 -0
  205. package/src/mocha.ts +162 -0
  206. package/src/mocharc.cjs +68 -0
  207. package/src/mocharc.d.cts +7 -0
  208. package/src/mocks/crypto.ts +70 -0
  209. package/src/mocks/environment.ts +7 -0
  210. package/src/mocks/index.ts +10 -0
  211. package/src/mocks/logging.ts +99 -0
  212. package/src/mocks/time.ts +295 -0
  213. package/src/node.ts +106 -0
  214. package/src/options.ts +58 -0
  215. package/src/reporter.ts +144 -0
  216. package/src/runner.ts +92 -0
  217. package/src/tsconfig.json +12 -0
  218. package/src/util/docker.ts +176 -0
  219. package/src/util/files.ts +25 -0
  220. package/src/util/node-shims.ts +13 -0
  221. package/src/util/trace-unhandled.ts +17 -0
  222. package/src/util/wtf.ts +25 -0
  223. package/src/web.ts +174 -0
  224. package/test/mocks/MockTimeTest.ts +113 -0
  225. package/test/tsconfig.json +18 -0
  226. package/tsconfig.json +5 -0
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/node-shims.ts"],
4
+ "mappings": ";AAMA,mBAAO;AACP,yBAA0B;AAP1B;AAAA;AAAA;AAAA;AAAA;AAUA,IAAI,WAAW,WAAW,QAAW;AACjC,SAAO,OAAO,YAAY,EAAE,QAAQ,6BAAU,CAAC;AACnD;",
5
+ "names": []
6
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare const traceUnhandled: {
7
+ initialize(): Promise<void>;
8
+ };
9
+ //# sourceMappingURL=trace-unhandled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-unhandled.d.ts","sourceRoot":"","sources":["../../../src/util/trace-unhandled.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,cAAc;;CAU1B,CAAC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var trace_unhandled_exports = {};
30
+ __export(trace_unhandled_exports, {
31
+ traceUnhandled: () => traceUnhandled
32
+ });
33
+ module.exports = __toCommonJS(trace_unhandled_exports);
34
+ /**
35
+ * @license
36
+ * Copyright 2022-2024 Matter.js Authors
37
+ * SPDX-License-Identifier: Apache-2.0
38
+ */
39
+ const traceUnhandled = {
40
+ async initialize() {
41
+ if (!process.argv.includes("--trace-unhandled") && !process.env.MATTER_TRACE_UNHANDLED) {
42
+ return;
43
+ }
44
+ const { register } = await import("trace-unhandled");
45
+ register();
46
+ }
47
+ };
48
+ //# sourceMappingURL=trace-unhandled.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/trace-unhandled.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,MAAM,iBAAiB;AAAA,EAC1B,MAAM,aAAa;AAEf,QAAI,CAAC,QAAQ,KAAK,SAAS,mBAAmB,KAAK,CAAC,QAAQ,IAAI,wBAAwB;AACpF;AAAA,IACJ;AAEA,UAAM,EAAE,SAAS,IAAI,MAAM,OAAO,iBAAiB;AACnD,aAAS;AAAA,EACb;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare const wtf: {
7
+ initialize(): Promise<void>;
8
+ dump(): void;
9
+ };
10
+ //# sourceMappingURL=wtf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wtf.d.ts","sourceRoot":"","sources":["../../../src/util/wtf.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,GAAG;;;CAkBf,CAAC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var wtf_exports = {};
30
+ __export(wtf_exports, {
31
+ wtf: () => wtf
32
+ });
33
+ module.exports = __toCommonJS(wtf_exports);
34
+ /**
35
+ * @license
36
+ * Copyright 2022-2024 Matter.js Authors
37
+ * SPDX-License-Identifier: Apache-2.0
38
+ */
39
+ const wtf = {
40
+ async initialize() {
41
+ if (typeof process !== "object" || process?.release?.name !== "node") {
42
+ return;
43
+ }
44
+ if (!process.argv.includes("--wtf") && !process.env.MATTER_WTF) {
45
+ return;
46
+ }
47
+ const { dump } = await import("wtfnode");
48
+ this.dump = () => dump();
49
+ },
50
+ dump() {
51
+ }
52
+ };
53
+ //# sourceMappingURL=wtf.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/wtf.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMO,MAAM,MAAM;AAAA,EACf,MAAM,aAAa;AAEf,QAAI,OAAO,YAAY,YAAY,SAAS,SAAS,SAAS,QAAQ;AAClE;AAAA,IACJ;AAIA,QAAI,CAAC,QAAQ,KAAK,SAAS,OAAO,KAAK,CAAC,QAAQ,IAAI,YAAY;AAC5D;AAAA,IACJ;AAEA,UAAM,EAAE,KAAK,IAAI,MAAM,OAAO,SAAS;AACvC,SAAK,OAAO,MAAM,KAAK;AAAA,EAC3B;AAAA,EAEA,OAAO;AAAA,EAAC;AACZ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { TestRunner } from "./runner.js";
7
+ export declare function testWeb(runner: TestRunner, manual: boolean): Promise<void>;
8
+ //# sourceMappingURL=web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,wBAAsB,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,iBA0ChE"}
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var web_exports = {};
30
+ __export(web_exports, {
31
+ testWeb: () => testWeb
32
+ });
33
+ module.exports = __toCommonJS(web_exports);
34
+ var import_tools = require("#tools");
35
+ var import_esbuild = require("esbuild");
36
+ var import_express = __toESM(require("express"), 1);
37
+ var import_promises = require("fs/promises");
38
+ var import_path = require("path");
39
+ var import_playwright = require("playwright");
40
+ var import_reporter = require("./reporter.js");
41
+ /**
42
+ * @license
43
+ * Copyright 2022-2024 Matter.js Authors
44
+ * SPDX-License-Identifier: Apache-2.0
45
+ */
46
+ async function testWeb(runner, manual) {
47
+ const files = await runner.loadFiles("esm");
48
+ const bundlePath = await bundle(files, runner.pkg);
49
+ const server = await new Promise((resolve, reject) => {
50
+ try {
51
+ const server2 = (0, import_express.default)().use(import_express.default.static(import_tools.Package.workspace.resolve("node_modules"))).use(import_express.default.static(import_tools.Package.workspace.path)).get("/", (_, res) => res.send(buildIndex(bundlePath))).listen(0, "localhost", () => resolve(server2));
52
+ } catch (e) {
53
+ reject(e);
54
+ }
55
+ });
56
+ const addr = server.address();
57
+ let ip = addr.address;
58
+ if (ip.indexOf(":") !== -1) {
59
+ ip = `[${ip}]`;
60
+ }
61
+ const url = `http://${ip}:${addr.port}/`;
62
+ await new Promise((resolve, reject) => {
63
+ server.on("error", reject);
64
+ server.on("close", resolve);
65
+ if (manual) {
66
+ console.log(`Run tests manually at ${url}`);
67
+ } else {
68
+ testInBrowser(url, runner.reporter, runner.options).then(() => {
69
+ server.close(() => {
70
+ resolve();
71
+ });
72
+ }).catch((error) => {
73
+ reject(error);
74
+ });
75
+ }
76
+ });
77
+ }
78
+ async function testInBrowser(url, reporter, options) {
79
+ async function setup() {
80
+ const browser = await import_playwright.chromium.launch();
81
+ const page = await browser.newPage();
82
+ return { browser, page };
83
+ }
84
+ async function run({ browser, page }) {
85
+ await page.goto(url);
86
+ await page.evaluate((options2) => globalThis.MatterTest.auto(options2), options);
87
+ await browser.close();
88
+ }
89
+ await new Promise((resolve, reject) => {
90
+ setup().then((cx) => {
91
+ cx.page.on("console", consoleHandler(reporter));
92
+ cx.page.on("pageerror", (error) => reject(error));
93
+ return cx;
94
+ }).then(run).then(resolve).catch(reject);
95
+ });
96
+ }
97
+ function consoleHandler(reporter) {
98
+ return (message) => {
99
+ const type = message.type();
100
+ switch (type) {
101
+ case "log":
102
+ case "debug":
103
+ case "info":
104
+ case "error":
105
+ case "warn":
106
+ case "trace":
107
+ break;
108
+ default:
109
+ return;
110
+ }
111
+ const text = message.text();
112
+ if (type !== "log" || !text.startsWith(import_reporter.ConsoleProxyReporter.FLAG)) {
113
+ console[type](text);
114
+ return;
115
+ }
116
+ const args = JSON.parse(text.slice(import_reporter.ConsoleProxyReporter.FLAG.length));
117
+ const method = reporter[args[0]];
118
+ if (typeof method !== "function") {
119
+ throw new Error(`Invalid encoded reporter update method ${args[0]}`);
120
+ }
121
+ method.call(reporter, ...args.slice(1));
122
+ };
123
+ }
124
+ function buildIndex(bundlePath) {
125
+ return `<!DOCTYPE html>
126
+ <html>
127
+ <head>
128
+ <title>Matter.js Web Testing</title>
129
+ <link rel="stylesheet" href="mocha/mocha.css">
130
+ </head>
131
+ <body>
132
+ <div id="mocha"><h1><a href="javascript:MatterTest.start()">run tests</a></h1></div>
133
+ <script src="mocha/mocha.js"><\/script>
134
+ <script src="${bundlePath}" type="module"><\/script>
135
+ </body>
136
+ </html>`;
137
+ }
138
+ async function bundle(files, pkg) {
139
+ const entrypointPath = pkg.resolve("build/esm/test-entrypoint.js");
140
+ const bundlePath = pkg.resolve("build/cjs/test-bundle.js");
141
+ const entrypoint = files.map((path) => {
142
+ path = (0, import_path.relative)(pkg.resolve("build/esm"), path).replace(/\\/g, "/");
143
+ if (!path.startsWith(".")) {
144
+ path = `./${path}`;
145
+ }
146
+ return `import ${JSON.stringify(path)}`;
147
+ }).join("\n");
148
+ await (0, import_promises.writeFile)(pkg.resolve("build/esm/test-entrypoint.js"), entrypoint);
149
+ await (0, import_esbuild.build)({
150
+ entryPoints: [entrypointPath],
151
+ bundle: true,
152
+ format: "cjs",
153
+ outfile: bundlePath,
154
+ external: ["wtfnode"],
155
+ keepNames: true,
156
+ // This doesn't work...
157
+ // logOverride: {
158
+ // "direct-eval": "silent",
159
+ // },
160
+ // ...so we do this:
161
+ logLevel: "error"
162
+ });
163
+ return pkg.workspace.relative(bundlePath);
164
+ }
165
+ //# sourceMappingURL=web.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/web.ts"],
4
+ "mappings": "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",
5
+ "names": ["server", "express", "options"]
6
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Manages Matter PICS files.
8
+ *
9
+ * Note that we sometimes use ".properties" extension for PICS files so we get syntax highlighting, but PICS only
10
+ * supports a subset of the actual Java properties file format.
11
+ */
12
+ export declare class PicsFile {
13
+ #private;
14
+ constructor(pathOrBody: string, inline?: boolean);
15
+ get lines(): string[];
16
+ get values(): Record<string, string>;
17
+ patch(other: PicsFile): void;
18
+ save(path: string): void;
19
+ }
20
+ //# sourceMappingURL=pics-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pics-file.d.ts","sourceRoot":"","sources":["../../../src/chip/pics-file.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH;;;;;GAKG;AACH,qBAAa,QAAQ;;gBAIL,UAAU,EAAE,MAAM,EAAE,MAAM,UAAQ;IAO9C,IAAI,KAAK,aAER;IAED,IAAI,MAAM,2BAYT;IAED,KAAK,CAAC,KAAK,EAAE,QAAQ;IAgBrB,IAAI,CAAC,IAAI,EAAE,MAAM;CAGpB"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { readFileSync, writeFileSync } from "fs";
7
+ function readValue(line) {
8
+ const valueMatch = line.match(/^(\S+)=(.*)$/);
9
+ if (valueMatch) {
10
+ return { key: valueMatch[1], value: valueMatch[2] };
11
+ }
12
+ return { key: void 0, value: void 0 };
13
+ }
14
+ class PicsFile {
15
+ #lines;
16
+ #values;
17
+ constructor(pathOrBody, inline = false) {
18
+ if (inline === false) {
19
+ pathOrBody = readFileSync(pathOrBody, "utf-8");
20
+ }
21
+ this.#lines = pathOrBody.split("\n").map((l) => l.trim());
22
+ }
23
+ get lines() {
24
+ return this.#lines;
25
+ }
26
+ get values() {
27
+ if (!this.#values) {
28
+ const values = {};
29
+ for (const line of this.lines) {
30
+ const { key, value } = readValue(line);
31
+ if (key !== void 0) {
32
+ values[key] = value;
33
+ }
34
+ }
35
+ this.#values = values;
36
+ }
37
+ return this.#values;
38
+ }
39
+ patch(other) {
40
+ this.#lines = this.lines.map((line) => {
41
+ const { key } = readValue(line);
42
+ if (key === void 0) {
43
+ return line;
44
+ }
45
+ const otherValue = other.values[key];
46
+ if (otherValue === void 0) {
47
+ return line;
48
+ }
49
+ return `${key}=${otherValue}`;
50
+ });
51
+ }
52
+ save(path) {
53
+ writeFileSync(path, this.lines.join("\n"));
54
+ }
55
+ }
56
+ export {
57
+ PicsFile
58
+ };
59
+ //# sourceMappingURL=pics-file.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/chip/pics-file.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,cAAc,qBAAqB;AAE5C,SAAS,UAAU,MAAc;AAC7B,QAAM,aAAa,KAAK,MAAM,cAAc;AAC5C,MAAI,YAAY;AACZ,WAAO,EAAE,KAAK,WAAW,CAAC,GAAG,OAAO,WAAW,CAAC,EAAE;AAAA,EACtD;AACA,SAAO,EAAE,KAAK,QAAW,OAAO,OAAU;AAC9C;AAQO,MAAM,SAAS;AAAA,EAClB;AAAA,EACA;AAAA,EAEA,YAAY,YAAoB,SAAS,OAAO;AAC5C,QAAI,WAAW,OAAO;AAClB,mBAAa,aAAa,YAAY,OAAO;AAAA,IACjD;AACA,SAAK,SAAS,WAAW,MAAM,IAAI,EAAE,IAAI,OAAK,EAAE,KAAK,CAAC;AAAA,EAC1D;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,SAAS;AACT,QAAI,CAAC,KAAK,SAAS;AACf,YAAM,SAAS,CAAC;AAChB,iBAAW,QAAQ,KAAK,OAAO;AAC3B,cAAM,EAAE,KAAK,MAAM,IAAI,UAAU,IAAI;AACrC,YAAI,QAAQ,QAAW;AACnB,iBAAO,GAAG,IAAI;AAAA,QAClB;AAAA,MACJ;AACA,WAAK,UAAU;AAAA,IACnB;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,MAAM,OAAiB;AACnB,SAAK,SAAS,KAAK,MAAM,IAAI,UAAQ;AACjC,YAAM,EAAE,IAAI,IAAI,UAAU,IAAI;AAC9B,UAAI,QAAQ,QAAW;AACnB,eAAO;AAAA,MACX;AAEA,YAAM,aAAa,MAAM,OAAO,GAAG;AACnC,UAAI,eAAe,QAAW;AAC1B,eAAO;AAAA,MACX;AAEA,aAAO,GAAG,GAAG,IAAI,UAAU;AAAA,IAC/B,CAAC;AAAA,EACL;AAAA,EAEA,KAAK,MAAc;AACf,kBAAc,MAAM,KAAK,MAAM,KAAK,IAAI,CAAC;AAAA,EAC7C;AACJ;",
5
+ "names": []
6
+ }
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { type TestRunner } from "./runner.js";
7
+ /**
8
+ * CHIP testing controller. "CHIP tests" are official tests implemented in the connectedhomeip repository.
9
+ */
10
+ export declare const Chip: {
11
+ /**
12
+ * Configure CHIP testing. Invoke prior to use of other methods.
13
+ */
14
+ config: Chip.Options;
15
+ /**
16
+ * Initialize. This must run before defining tests to enable test definition via globs.
17
+ */
18
+ initialize(): Promise<void>;
19
+ /**
20
+ * Define YAML tests. This is a declarative CHIP test defined in a YAML file.
21
+ */
22
+ yaml(testee: Chip.Testee, includeGlob: string, excludeGlob?: string): void;
23
+ /**
24
+ * Define a "python" test. This is a CHIP test implemented as a python script.
25
+ */
26
+ python(testee: Chip.Testee, tester: Chip.TestSelection, excludeGlob?: string): void;
27
+ };
28
+ export declare namespace Chip {
29
+ /**
30
+ * The test subject.
31
+ */
32
+ interface Testee {
33
+ setup(): Promise<void>;
34
+ start(): Promise<void>;
35
+ stop(): Promise<void>;
36
+ }
37
+ /**
38
+ * The test implementation.
39
+ */
40
+ type TestSelection = Tester | string;
41
+ /**
42
+ * Configuration required from testing program.
43
+ */
44
+ interface Options {
45
+ runner: TestRunner;
46
+ }
47
+ /**
48
+ * Details of how to run a specific test.
49
+ */
50
+ interface Tester {
51
+ name: string;
52
+ description?: string;
53
+ command?: string[];
54
+ args?: Record<string, string>;
55
+ timeout?: number;
56
+ environment?: Record<string, string>;
57
+ }
58
+ }
59
+ export type Chip = typeof Chip;
60
+ //# sourceMappingURL=chip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chip.d.ts","sourceRoot":"","sources":["../../src/chip.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAsE9C;;GAEG;AACH,eAAO,MAAM,IAAI;IACb;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;iBACU,IAAI,CAAC,MAAM,eAAe,MAAM,gBAAgB,MAAM;IA0BnE;;OAEG;mBACY,IAAI,CAAC,MAAM,UAAU,IAAI,CAAC,aAAa,gBAAgB,MAAM;CAgC/E,CAAC;AAqDF,yBAAiB,IAAI,CAAC;IAClB;;OAEG;IACH,UAAiB,MAAM;QACnB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;KACzB;IAED;;OAEG;IACH,KAAY,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;IAE5C;;OAEG;IACH,UAAiB,OAAO;QACpB,MAAM,EAAE,UAAU,CAAC;KACtB;IAED;;OAEG;IACH,UAAiB,MAAM;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACxC;CACJ;AAED,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC"}