@matter/testing 0.15.1 → 0.15.2-alpha.0-20250703-2e16aba2b

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 (84) hide show
  1. package/dist/cjs/chai.d.ts +9 -0
  2. package/dist/cjs/chai.d.ts.map +1 -0
  3. package/dist/cjs/chai.js +66 -0
  4. package/dist/cjs/chai.js.map +6 -0
  5. package/dist/cjs/failure-detail.d.ts +1 -0
  6. package/dist/cjs/failure-detail.d.ts.map +1 -1
  7. package/dist/cjs/failure-detail.js +12 -4
  8. package/dist/cjs/failure-detail.js.map +1 -1
  9. package/dist/cjs/failure-reporter.js +5 -1
  10. package/dist/cjs/failure-reporter.js.map +1 -1
  11. package/dist/cjs/global-declarations.d.ts +8 -1
  12. package/dist/cjs/global-declarations.d.ts.map +1 -1
  13. package/dist/cjs/global-definitions.js +0 -1
  14. package/dist/cjs/global-definitions.js.map +1 -1
  15. package/dist/cjs/index.d.ts +2 -0
  16. package/dist/cjs/index.d.ts.map +1 -1
  17. package/dist/cjs/index.js +2 -0
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/cjs/mocha.d.ts.map +1 -1
  20. package/dist/cjs/mocha.js +1 -0
  21. package/dist/cjs/mocha.js.map +1 -1
  22. package/dist/cjs/mocks/time.d.ts +7 -0
  23. package/dist/cjs/mocks/time.d.ts.map +1 -1
  24. package/dist/cjs/mocks/time.js +13 -1
  25. package/dist/cjs/mocks/time.js.map +1 -1
  26. package/dist/cjs/runner.d.ts +5 -1
  27. package/dist/cjs/runner.d.ts.map +1 -1
  28. package/dist/cjs/runner.js +24 -6
  29. package/dist/cjs/runner.js.map +1 -1
  30. package/dist/cjs/util/files.d.ts.map +1 -1
  31. package/dist/cjs/util/files.js +1 -0
  32. package/dist/cjs/util/files.js.map +1 -1
  33. package/dist/cjs/web.d.ts +3 -0
  34. package/dist/cjs/web.d.ts.map +1 -1
  35. package/dist/cjs/web.js +7 -4
  36. package/dist/cjs/web.js.map +1 -1
  37. package/dist/esm/chai.d.ts +9 -0
  38. package/dist/esm/chai.d.ts.map +1 -0
  39. package/dist/esm/chai.js +40 -0
  40. package/dist/esm/chai.js.map +6 -0
  41. package/dist/esm/failure-detail.d.ts +1 -0
  42. package/dist/esm/failure-detail.d.ts.map +1 -1
  43. package/dist/esm/failure-detail.js +12 -4
  44. package/dist/esm/failure-detail.js.map +1 -1
  45. package/dist/esm/failure-reporter.js +5 -1
  46. package/dist/esm/failure-reporter.js.map +1 -1
  47. package/dist/esm/global-declarations.d.ts +8 -1
  48. package/dist/esm/global-declarations.d.ts.map +1 -1
  49. package/dist/esm/global-definitions.js +0 -1
  50. package/dist/esm/global-definitions.js.map +1 -1
  51. package/dist/esm/index.d.ts +2 -0
  52. package/dist/esm/index.d.ts.map +1 -1
  53. package/dist/esm/index.js +2 -0
  54. package/dist/esm/index.js.map +1 -1
  55. package/dist/esm/mocha.d.ts.map +1 -1
  56. package/dist/esm/mocha.js +1 -0
  57. package/dist/esm/mocha.js.map +1 -1
  58. package/dist/esm/mocks/time.d.ts +7 -0
  59. package/dist/esm/mocks/time.d.ts.map +1 -1
  60. package/dist/esm/mocks/time.js +13 -1
  61. package/dist/esm/mocks/time.js.map +1 -1
  62. package/dist/esm/runner.d.ts +5 -1
  63. package/dist/esm/runner.d.ts.map +1 -1
  64. package/dist/esm/runner.js +24 -6
  65. package/dist/esm/runner.js.map +1 -1
  66. package/dist/esm/util/files.d.ts.map +1 -1
  67. package/dist/esm/util/files.js +1 -0
  68. package/dist/esm/util/files.js.map +1 -1
  69. package/dist/esm/web.d.ts +3 -0
  70. package/dist/esm/web.d.ts.map +1 -1
  71. package/dist/esm/web.js +7 -4
  72. package/dist/esm/web.js.map +1 -1
  73. package/package.json +2 -2
  74. package/src/chai.ts +50 -0
  75. package/src/failure-detail.ts +14 -4
  76. package/src/failure-reporter.ts +9 -1
  77. package/src/global-declarations.ts +17 -1
  78. package/src/global-definitions.ts +2 -1
  79. package/src/index.ts +2 -0
  80. package/src/mocha.ts +2 -0
  81. package/src/mocks/time.ts +15 -1
  82. package/src/runner.ts +31 -6
  83. package/src/util/files.ts +1 -0
  84. package/src/web.ts +20 -12
package/dist/cjs/web.js CHANGED
@@ -45,7 +45,7 @@ var import_web_reporter = require("./web-reporter.js");
45
45
  */
46
46
  async function testWeb(runner, manual) {
47
47
  const files = await runner.loadFiles("esm");
48
- const bundlePath = await bundle(files, runner.pkg);
48
+ const bundlePath = await bundle(files, runner);
49
49
  const server = await new Promise((resolve, reject) => {
50
50
  try {
51
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) => {
@@ -77,6 +77,7 @@ async function testWeb(runner, manual) {
77
77
  }
78
78
  });
79
79
  }
80
+ testWeb.entrypointPreprocessor = void 0;
80
81
  async function testInBrowser(url, reporter, options) {
81
82
  async function setup() {
82
83
  const browser = await import_playwright.chromium.launch();
@@ -137,7 +138,7 @@ function buildIndex(bundlePath) {
137
138
  </body>
138
139
  </html>`;
139
140
  }
140
- async function bundle(files, pkg) {
141
+ async function bundle(files, { pkg, entrypointPreprocessor }) {
141
142
  const entrypointPath = pkg.resolve("build/esm/test-entrypoint.js");
142
143
  const bundlePath = pkg.resolve("build/cjs/test-bundle.js");
143
144
  const entrypoint = files.map((path) => {
@@ -146,8 +147,9 @@ async function bundle(files, pkg) {
146
147
  path = `./${path}`;
147
148
  }
148
149
  return `import ${JSON.stringify(path)}`;
149
- }).join("\n");
150
- await (0, import_promises.writeFile)(pkg.resolve("build/esm/test-entrypoint.js"), entrypoint);
150
+ });
151
+ entrypointPreprocessor?.(entrypoint);
152
+ await (0, import_promises.writeFile)(pkg.resolve("build/esm/test-entrypoint.js"), entrypoint.join("\n"));
151
153
  await (0, import_esbuild.build)({
152
154
  entryPoints: [entrypointPath],
153
155
  bundle: true,
@@ -155,6 +157,7 @@ async function bundle(files, pkg) {
155
157
  outfile: bundlePath,
156
158
  external: ["wtfnode"],
157
159
  keepNames: true,
160
+ conditions: ["static-load"],
158
161
  // This doesn't work...
159
162
  // logOverride: {
160
163
  // "direct-eval": "silent",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/web.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["server", "express", "options"]
6
6
  }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import "./global-definitions.js";
7
+ export interface DiffMarker {
8
+ }
9
+ //# sourceMappingURL=chai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chai.d.ts","sourceRoot":"","sources":["../../src/chai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,yBAAyB,CAAC;AAEjC,MAAM,WAAW,UAAU;CAAG"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import Chai from "chai";
7
+ import "./global-definitions.js";
8
+ Chai.config.truncateThreshold = 200;
9
+ function createDiffMarker(title) {
10
+ return {
11
+ toString() {
12
+ return `<<${title}>>`;
13
+ }
14
+ };
15
+ }
16
+ expect.IGNORE = createDiffMarker("ignore");
17
+ expect.BIGINT = createDiffMarker("bigint");
18
+ expect.BYTES = createDiffMarker("bytes");
19
+ expect.NUMBER = createDiffMarker("number");
20
+ expect.STRING = createDiffMarker("string");
21
+ Chai.config.deepEqual = (expected, actual) => {
22
+ return Chai.util.eql(expected, actual, {
23
+ comparator(expected2, actual2) {
24
+ switch (expected2) {
25
+ case expect.IGNORE:
26
+ return true;
27
+ case expect.BIGINT:
28
+ return typeof actual2 === "bigint";
29
+ case expect.NUMBER:
30
+ return typeof actual2 === "number";
31
+ case expect.STRING:
32
+ return typeof actual2 === "string";
33
+ case expect.BYTES:
34
+ return actual2 instanceof Uint8Array;
35
+ }
36
+ return null;
37
+ }
38
+ });
39
+ };
40
+ //# sourceMappingURL=chai.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/chai.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO,UAAU;AACjB,OAAO;AAIP,KAAK,OAAO,oBAAoB;AAEhC,SAAS,iBAAiB,OAAe;AACrC,SAAO;AAAA,IACH,WAAW;AACP,aAAO,KAAK,KAAK;AAAA,IACrB;AAAA,EACJ;AACJ;AAEA,OAAO,SAAS,iBAAiB,QAAQ;AACzC,OAAO,SAAS,iBAAiB,QAAQ;AACzC,OAAO,QAAQ,iBAAiB,OAAO;AACvC,OAAO,SAAS,iBAAiB,QAAQ;AACzC,OAAO,SAAS,iBAAiB,QAAQ;AAExC,KAAK,OAAe,YAAY,CAAC,UAAmB,WAAoB;AACrE,SAAQ,KAAK,KAAa,IAAI,UAAU,QAAQ;AAAA,IAC5C,WAAWA,WAAmBC,SAAiB;AAC3C,cAAQD,WAAU;AAAA,QACd,KAAK,OAAO;AACR,iBAAO;AAAA,QAEX,KAAK,OAAO;AACR,iBAAO,OAAOC,YAAW;AAAA,QAE7B,KAAK,OAAO;AACR,iBAAO,OAAOA,YAAW;AAAA,QAE7B,KAAK,OAAO;AACR,iBAAO,OAAOA,YAAW;AAAA,QAE7B,KAAK,OAAO;AACR,iBAAOA,mBAAkB;AAAA,MACjC;AACA,aAAO;AAAA,IACX;AAAA,EACJ,CAAC;AACL;",
5
+ "names": ["expected", "actual"]
6
+ }
@@ -12,6 +12,7 @@ export interface FailureDetail {
12
12
  expected?: string;
13
13
  logs?: string;
14
14
  cause?: FailureDetail;
15
+ secondary?: FailureDetail;
15
16
  errors?: FailureDetail[];
16
17
  }
17
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"failure-detail.d.ts","sourceRoot":"","sources":["../../src/failure-detail.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,iBAgC7F"}
1
+ {"version":3,"file":"failure-detail.d.ts","sourceRoot":"","sources":["../../src/failure-detail.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,iBAmC7F"}
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  function FailureDetail(error, id, logs, parentStack) {
7
- const { message, stack, stackLines, cause, errors } = parseError(error, parentStack);
7
+ const { message, stack, stackLines, cause, errors, secondary } = parseError(error, parentStack);
8
8
  const result = { message };
9
9
  if (stack) {
10
10
  result.stack = stack;
@@ -18,6 +18,9 @@ function FailureDetail(error, id, logs, parentStack) {
18
18
  if (cause) {
19
19
  result.cause = cause;
20
20
  }
21
+ if (secondary) {
22
+ result.secondary = secondary;
23
+ }
21
24
  if (errors) {
22
25
  result.errors = errors;
23
26
  }
@@ -59,17 +62,22 @@ function messageAndStackFor(error, parentStack) {
59
62
  return { message, stack };
60
63
  }
61
64
  function parseError(error, parentStack) {
65
+ let secondary;
66
+ if ("error" in error && "suppressed" in error) {
67
+ secondary = FailureDetail(error.error);
68
+ error = error.suppressed;
69
+ }
62
70
  const { message, id, stack, stackLines } = messageAndStackFor(error, parentStack);
63
71
  let cause, errors;
64
72
  const errorCause = error.cause;
65
73
  if (errorCause) {
66
- cause = FailureDetail(errorCause, void 0, stackLines);
74
+ cause = FailureDetail(errorCause, id, void 0, stackLines);
67
75
  }
68
76
  const errorErrors = error.errors;
69
77
  if (Array.isArray(errorErrors)) {
70
- errors = errorErrors.map((e) => FailureDetail(e, void 0, stackLines));
78
+ errors = errorErrors.map((e) => FailureDetail(e, id, void 0, stackLines));
71
79
  }
72
- return { message, id, stack, stackLines, cause, errors };
80
+ return { message, id, stack, stackLines, cause, errors, secondary };
73
81
  }
74
82
  export {
75
83
  FailureDetail
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/failure-detail.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAqBO,SAAS,cAAc,OAAY,IAAa,MAAiB,aAAwB;AAC5F,QAAM,EAAE,SAAS,OAAO,YAAY,OAAO,OAAO,IAAI,WAAW,OAAO,WAAW;AACnF,QAAM,SAAS,EAAE,QAAQ;AAEzB,MAAI,OAAO;AACP,WAAO,QAAQ;AAAA,EACnB;AACA,MAAI,IAAI;AACJ,WAAO,KAAK;AAAA,EAChB;AACA,MAAI,MAAM,QAAQ;AACd,WAAO,OAAO,KAAK,KAAK,IAAI;AAAA,EAChC;AACA,MAAI,OAAO;AACP,WAAO,QAAQ;AAAA,EACnB;AACA,MAAI,QAAQ;AACR,WAAO,SAAS;AAAA,EACpB;AACA,MAAI,YAAY;AACZ,WAAO,aAAa;AAAA,EACxB;AAEA,QAAM,EAAE,QAAQ,SAAS,IAAI;AAC7B,MAAI,QAAQ;AACR,WAAO,SAAS;AAAA,EACpB;AACA,MAAI,UAAU;AACV,WAAO,WAAW;AAAA,EACtB;AAEA,SAAO;AACX;AAEA,SAAS,mBACL,OACA,aACuE;AAEvE,MAAI,aAAa,oBAAoB;AACjC,WAAO,YAAY,mBAAmB,OAAO,WAAW;AAAA,EAC5D;AAGA,MAAI,SAAS;AACb,MAAI,UAAU,UAAa,UAAU,MAAM;AACvC,cAAU,aAAa,KAAK;AAAA,EAChC,OAAO;AACH,cAAU,MAAM;AAAA,EACpB;AAEA,MAAI,MAAM,OAAO;AACb,QAAI,QAAQ,MAAM,MAAM,KAAK,EAAE,MAAM,IAAI;AACzC,QAAI,CAAC,SAAS;AACV,gBAAU,MAAM,CAAC;AAAA,IACrB;AACA,YAAQ,MAAM,OAAO,UAAQ,KAAK,MAAM,aAAa,CAAC;AACtD,QAAI,MAAM,QAAQ;AACd,cAAQ,MAAM,IAAI,UAAQ,KAAK,KAAK,CAAC,EAAE,KAAK,IAAI;AAAA,IACpD;AAAA,EACJ;AAEA,MAAI,CAAC,SAAS;AACV,cAAU,MAAM,SAAS;AAAA,EAC7B;AAEA,SAAO,EAAE,SAAS,MAAM;AAC5B;AAEA,SAAS,WAAW,OAAc,aAAwB;AACtD,QAAM,EAAE,SAAS,IAAI,OAAO,WAAW,IAAI,mBAAmB,OAAO,WAAW;AAEhF,MAAI,OAAkC;AAEtC,QAAM,aAAa,MAAM;AACzB,MAAI,YAAY;AACZ,YAAQ,cAAc,YAAY,QAAW,UAAU;AAAA,EAC3D;AAEA,QAAM,cAAe,MAAyB;AAC9C,MAAI,MAAM,QAAQ,WAAW,GAAG;AAC5B,aAAS,YAAY,IAAI,OAAK,cAAc,GAAG,QAAW,UAAU,CAAC;AAAA,EACzE;AAEA,SAAO,EAAE,SAAS,IAAI,OAAO,YAAY,OAAO,OAAO;AAC3D;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAsBO,SAAS,cAAc,OAAY,IAAa,MAAiB,aAAwB;AAC5F,QAAM,EAAE,SAAS,OAAO,YAAY,OAAO,QAAQ,UAAU,IAAI,WAAW,OAAO,WAAW;AAC9F,QAAM,SAAS,EAAE,QAAQ;AAEzB,MAAI,OAAO;AACP,WAAO,QAAQ;AAAA,EACnB;AACA,MAAI,IAAI;AACJ,WAAO,KAAK;AAAA,EAChB;AACA,MAAI,MAAM,QAAQ;AACd,WAAO,OAAO,KAAK,KAAK,IAAI;AAAA,EAChC;AACA,MAAI,OAAO;AACP,WAAO,QAAQ;AAAA,EACnB;AACA,MAAI,WAAW;AACX,WAAO,YAAY;AAAA,EACvB;AACA,MAAI,QAAQ;AACR,WAAO,SAAS;AAAA,EACpB;AACA,MAAI,YAAY;AACZ,WAAO,aAAa;AAAA,EACxB;AAEA,QAAM,EAAE,QAAQ,SAAS,IAAI;AAC7B,MAAI,QAAQ;AACR,WAAO,SAAS;AAAA,EACpB;AACA,MAAI,UAAU;AACV,WAAO,WAAW;AAAA,EACtB;AAEA,SAAO;AACX;AAEA,SAAS,mBACL,OACA,aACuE;AAEvE,MAAI,aAAa,oBAAoB;AACjC,WAAO,YAAY,mBAAmB,OAAO,WAAW;AAAA,EAC5D;AAGA,MAAI,SAAS;AACb,MAAI,UAAU,UAAa,UAAU,MAAM;AACvC,cAAU,aAAa,KAAK;AAAA,EAChC,OAAO;AACH,cAAU,MAAM;AAAA,EACpB;AAEA,MAAI,MAAM,OAAO;AACb,QAAI,QAAQ,MAAM,MAAM,KAAK,EAAE,MAAM,IAAI;AACzC,QAAI,CAAC,SAAS;AACV,gBAAU,MAAM,CAAC;AAAA,IACrB;AACA,YAAQ,MAAM,OAAO,UAAQ,KAAK,MAAM,aAAa,CAAC;AACtD,QAAI,MAAM,QAAQ;AACd,cAAQ,MAAM,IAAI,UAAQ,KAAK,KAAK,CAAC,EAAE,KAAK,IAAI;AAAA,IACpD;AAAA,EACJ;AAEA,MAAI,CAAC,SAAS;AACV,cAAU,MAAM,SAAS;AAAA,EAC7B;AAEA,SAAO,EAAE,SAAS,MAAM;AAC5B;AAEA,SAAS,WAAW,OAAc,aAAwB;AACtD,MAAI;AACJ,MAAI,WAAW,SAAS,gBAAgB,OAAO;AAC3C,gBAAY,cAAc,MAAM,KAAK;AACrC,YAAQ,MAAM;AAAA,EAClB;AAEA,QAAM,EAAE,SAAS,IAAI,OAAO,WAAW,IAAI,mBAAmB,OAAO,WAAW;AAEhF,MAAI,OAAkC;AAEtC,QAAM,aAAa,MAAM;AACzB,MAAI,YAAY;AACZ,YAAQ,cAAc,YAAY,IAAI,QAAW,UAAU;AAAA,EAC/D;AAEA,QAAM,cAAe,MAAyB;AAC9C,MAAI,MAAM,QAAQ,WAAW,GAAG;AAC5B,aAAS,YAAY,IAAI,OAAK,cAAc,GAAG,IAAI,QAAW,UAAU,CAAC;AAAA,EAC7E;AAEA,SAAO,EAAE,SAAS,IAAI,OAAO,YAAY,OAAO,QAAQ,UAAU;AACtE;",
5
5
  "names": []
6
6
  }
@@ -26,7 +26,7 @@ function dumpCause(out, failure) {
26
26
  dumpDetails(out, failure);
27
27
  });
28
28
  }
29
- function dumpDetails(out, { message, id, actual, expected, stack, cause, errors, logs }) {
29
+ function dumpDetails(out, { message, id, actual, expected, stack, cause, errors, secondary, logs }) {
30
30
  out("\n", ansi.bright.red(id ? `[${ansi.bold(id)}] ${message}` : message), "\n");
31
31
  if (actual !== void 0 && expected !== void 0) {
32
32
  out("\n");
@@ -49,6 +49,10 @@ function dumpDetails(out, { message, id, actual, expected, stack, cause, errors,
49
49
  dumpCause(out, cause2);
50
50
  }
51
51
  }
52
+ if (secondary) {
53
+ out("\n", ansi.bold("Secondary error during disposal:"), "\n");
54
+ dumpCause(out, secondary);
55
+ }
52
56
  if (logs) {
53
57
  out("\n", logs, "\n");
54
58
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/failure-reporter.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,MAAe,2BAA2B;AAEnD,SAAS,gBAAgB;AAEzB,MAAM,cAAc,GAAG,KAAK,GAAG,yPAA4C,KAAK,IAAI,GAAG;AACvF,MAAM,eAAe,GAAG,KAAK,GAAG,WAAM,KAAK,IAAI,GAAG;AAClD,MAAM,eAAe,GAAG,KAAK,GAAG,WAAM,KAAK,IAAI,GAAG;AAClD,MAAM,YAAY,GAAG,KAAK,GAAG,qBAAM,KAAK,IAAI,GAAG;AAExC,IAAU;AAAA,CAAV,CAAUA,qBAAV;AACI,WAAS,OAAO,KAAc,SAAwB,OAAe;AACxE,QAAI,aAAa,MAAM,cAAc,IAAI;AAEzC,QAAI,MAAM,EAAE,YAAY,aAAa,GAAG,MAAM;AAC1C,UAAI,KAAK,KAAK,IAAI,mBAAmB,GAAG,KAAK,OAAO,IAAI;AACxD,kBAAY,KAAK,OAAO;AAAA,IAC5B,CAAC;AAED,QAAI,cAAc,MAAM,WAAW,IAAI;AAAA,EAC3C;AATO,EAAAA,iBAAS;AAAA,GADH;AAajB,SAAS,UAAU,KAAc,SAAwB;AACrD,MAAI,MAAM,EAAE,YAAY,aAAa,GAAG,MAAM;AAC1C,gBAAY,KAAK,OAAO;AAAA,EAC5B,CAAC;AACL;AAEA,SAAS,YAAY,KAAc,EAAE,SAAS,IAAI,QAAQ,UAAU,OAAO,OAAO,QAAQ,KAAK,GAAkB;AAC7G,MAAI,MAAM,KAAK,OAAO,IAAI,KAAK,IAAI,KAAK,KAAK,EAAE,CAAC,KAAK,OAAO,KAAK,OAAO,GAAG,IAAI;AAE/E,MAAI,WAAW,UAAa,aAAa,QAAW;AAChD,QAAI,IAAI;AACR,QAAI,MAAM,EAAE,YAAY,OAAO,GAAG,MAAM,IAAI,SAAS,QAAQ,QAAQ,CAAC,CAAC;AACvE,QAAI,IAAI;AAAA,EACZ;AAEA,MAAI,OAAO;AACP,QAAI,IAAI;AACR,QAAI,MAAM,EAAE,YAAY,KAAK,GAAG,MAAM,IAAI,KAAK,CAAC;AAChD,QAAI,IAAI;AAAA,EACZ;AAEA,MAAI,OAAO;AACP,QAAI,MAAM,KAAK,KAAK,YAAY,GAAG,IAAI;AACvC,cAAU,KAAK,KAAK;AAAA,EACxB;AAEA,MAAI,QAAQ,QAAQ;AAChB,QAAI,MAAM;AACV,eAAWC,UAAS,QAAQ;AACxB,UAAI,MAAM,KAAK,KAAK,UAAU,EAAE,GAAG,GAAG,GAAG,IAAI;AAC7C,gBAAU,KAAKA,MAAK;AAAA,IACxB;AAAA,EACJ;AAEA,MAAI,MAAM;AACN,QAAI,MAAM,MAAM,IAAI;AAAA,EACxB;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,MAAe,2BAA2B;AAEnD,SAAS,gBAAgB;AAEzB,MAAM,cAAc,GAAG,KAAK,GAAG,yPAA4C,KAAK,IAAI,GAAG;AACvF,MAAM,eAAe,GAAG,KAAK,GAAG,WAAM,KAAK,IAAI,GAAG;AAClD,MAAM,eAAe,GAAG,KAAK,GAAG,WAAM,KAAK,IAAI,GAAG;AAClD,MAAM,YAAY,GAAG,KAAK,GAAG,qBAAM,KAAK,IAAI,GAAG;AAExC,IAAU;AAAA,CAAV,CAAUA,qBAAV;AACI,WAAS,OAAO,KAAc,SAAwB,OAAe;AACxE,QAAI,aAAa,MAAM,cAAc,IAAI;AAEzC,QAAI,MAAM,EAAE,YAAY,aAAa,GAAG,MAAM;AAC1C,UAAI,KAAK,KAAK,IAAI,mBAAmB,GAAG,KAAK,OAAO,IAAI;AACxD,kBAAY,KAAK,OAAO;AAAA,IAC5B,CAAC;AAED,QAAI,cAAc,MAAM,WAAW,IAAI;AAAA,EAC3C;AATO,EAAAA,iBAAS;AAAA,GADH;AAajB,SAAS,UAAU,KAAc,SAAwB;AACrD,MAAI,MAAM,EAAE,YAAY,aAAa,GAAG,MAAM;AAC1C,gBAAY,KAAK,OAAO;AAAA,EAC5B,CAAC;AACL;AAEA,SAAS,YACL,KACA,EAAE,SAAS,IAAI,QAAQ,UAAU,OAAO,OAAO,QAAQ,WAAW,KAAK,GACzE;AACE,MAAI,MAAM,KAAK,OAAO,IAAI,KAAK,IAAI,KAAK,KAAK,EAAE,CAAC,KAAK,OAAO,KAAK,OAAO,GAAG,IAAI;AAE/E,MAAI,WAAW,UAAa,aAAa,QAAW;AAChD,QAAI,IAAI;AACR,QAAI,MAAM,EAAE,YAAY,OAAO,GAAG,MAAM,IAAI,SAAS,QAAQ,QAAQ,CAAC,CAAC;AACvE,QAAI,IAAI;AAAA,EACZ;AAEA,MAAI,OAAO;AACP,QAAI,IAAI;AACR,QAAI,MAAM,EAAE,YAAY,KAAK,GAAG,MAAM,IAAI,KAAK,CAAC;AAChD,QAAI,IAAI;AAAA,EACZ;AAEA,MAAI,OAAO;AACP,QAAI,MAAM,KAAK,KAAK,YAAY,GAAG,IAAI;AACvC,cAAU,KAAK,KAAK;AAAA,EACxB;AAEA,MAAI,QAAQ,QAAQ;AAChB,QAAI,MAAM;AACV,eAAWC,UAAS,QAAQ;AACxB,UAAI,MAAM,KAAK,KAAK,UAAU,EAAE,GAAG,GAAG,GAAG,IAAI;AAC7C,gBAAU,KAAKA,MAAK;AAAA,IACxB;AAAA,EACJ;AAEA,MAAI,WAAW;AACX,QAAI,MAAM,KAAK,KAAK,kCAAkC,GAAG,IAAI;AAC7D,cAAU,KAAK,SAAS;AAAA,EAC5B;AAEA,MAAI,MAAM;AACN,QAAI,MAAM,MAAM,IAAI;AAAA,EACxB;AACJ;",
5
5
  "names": ["FailureReporter", "cause"]
6
6
  }
@@ -5,11 +5,18 @@
5
5
  */
6
6
  import type Chai from "chai";
7
7
  import "chai-as-promised";
8
+ import type { DiffMarker } from "./chai.js";
8
9
  import type { DiagnosticMessageLike, MockLogger } from "./mocks/logging.js";
9
10
  import type { MockTime } from "./mocks/time.js";
10
11
  import type { TestDescriptor, TestSuiteDescriptor } from "./test-descriptor.js";
11
12
  declare global {
12
- const expect: typeof Chai.expect;
13
+ const expect: typeof Chai.expect & {
14
+ IGNORE: DiffMarker;
15
+ BIGINT: DiffMarker;
16
+ BYTES: DiffMarker;
17
+ NUMBER: DiffMarker;
18
+ STRING: DiffMarker;
19
+ };
13
20
  let MockTime: MockTime;
14
21
  let MockLogger: MockLogger;
15
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"global-declarations.d.ts","sourceRoot":"","sources":["../../src/global-declarations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,CAAC,MAAM,CAAC;IAEX,MAAM,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,CAAC;IAGjC,IAAI,QAAQ,EAAE,QAAQ,CAAC;IAGvB,IAAI,UAAU,EAAE,UAAU,CAAC;IAE3B;;;OAGG;IACH,IAAI,WAAW,EACT,SAAS,GACT;QACI;;WAEG;QACH,SAAS,IAAI,IAAI,CAAC;QAElB;;WAEG;QACH,SAAS,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE,GAAG,IAAI,CAAC;QAE1D;;WAEG;QACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;QAEhC;;WAEG;QACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;QAEpC;;WAEG;QACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;QAEpE;;WAEG;QACH,kBAAkB,CAAC,EAAE,CACjB,KAAK,EAAE,OAAO,EACd,WAAW,CAAC,EAAE,MAAM,EAAE,KACrB;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,EAAE,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;KAChF,CAAC;IAER,UAAU,KAAK,CAAC;QACZ,UAAU,KAAK;YACX,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;SAC5C;QAED,UAAU,IAAI;YACV,UAAU,EAAE,cAAc,CAAC;SAC9B;KACJ;CACJ"}
1
+ {"version":3,"file":"global-declarations.d.ts","sourceRoot":"","sources":["../../src/global-declarations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,CAAC,MAAM,CAAC;IAEX,MAAM,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,GAAG;QAE/B,MAAM,EAAE,UAAU,CAAC;QAGnB,MAAM,EAAE,UAAU,CAAC;QAGnB,KAAK,EAAE,UAAU,CAAC;QAGlB,MAAM,EAAE,UAAU,CAAC;QAGnB,MAAM,EAAE,UAAU,CAAC;KACtB,CAAC;IAGF,IAAI,QAAQ,EAAE,QAAQ,CAAC;IAGvB,IAAI,UAAU,EAAE,UAAU,CAAC;IAE3B;;;OAGG;IACH,IAAI,WAAW,EACT,SAAS,GACT;QACI;;WAEG;QACH,SAAS,IAAI,IAAI,CAAC;QAElB;;WAEG;QACH,SAAS,CAAC,IAAI,EAAE;YAAE,MAAM,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;SAAE,GAAG,IAAI,CAAC;QAE1D;;WAEG;QACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;QAEhC;;WAEG;QACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;QAEpC;;WAEG;QACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,KAAK,IAAI,CAAC;QAEpE;;WAEG;QACH,kBAAkB,CAAC,EAAE,CACjB,KAAK,EAAE,OAAO,EACd,WAAW,CAAC,EAAE,MAAM,EAAE,KACrB;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,EAAE,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;KAChF,CAAC;IAER,UAAU,KAAK,CAAC;QACZ,UAAU,KAAK;YACX,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;SAC5C;QAED,UAAU,IAAI;YACV,UAAU,EAAE,cAAc,CAAC;SAC9B;KACJ;CACJ"}
@@ -9,7 +9,6 @@ import { browserSetup, extendApi, generalSetup } from "./mocha.js";
9
9
  import { bootSetup } from "./mocks/boot.js";
10
10
  import { MockLogger, loggerSetup } from "./mocks/logging.js";
11
11
  import { timeSetup } from "./mocks/time.js";
12
- Chai.config.truncateThreshold = 200;
13
12
  Chai.use(ChaiAsPromised);
14
13
  Object.assign(globalThis, {
15
14
  expect: Chai.expect,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/global-definitions.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AASA,OAAO,UAAU;AACjB,OAAO,oBAAoB;AAC3B,SAAS,cAAc,WAAW,oBAAoB;AACtD,SAAS,iBAAiB;AAC1B,SAAS,YAAY,mBAAmB;AACxC,SAAS,iBAAiB;AAE1B,KAAK,OAAO,oBAAoB;AAChC,KAAK,IAAI,cAAc;AAEvB,OAAO,OAAO,YAAY;AAAA,EACtB,QAAQ,KAAK;AAAA,EAEb,aAAa;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EAEA;AACJ,CAAC;AAED,IAAI,eAAgB,WAAmB,QAAQ;AAC3C,YAAU,KAAK;AACf,eAAa,KAAK;AAClB,eAAa,KAAK;AACtB;AAEA,SAAS,YAAY;AAErB;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AASA,OAAO,UAAU;AACjB,OAAO,oBAAoB;AAE3B,SAAS,cAAc,WAAW,oBAAoB;AACtD,SAAS,iBAAiB;AAC1B,SAAS,YAAY,mBAAmB;AACxC,SAAS,iBAAiB;AAG1B,KAAK,IAAI,cAAc;AAEvB,OAAO,OAAO,YAAY;AAAA,EACtB,QAAQ,KAAK;AAAA,EAEb,aAAa;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EAEA;AACJ,CAAC;AAED,IAAI,eAAgB,WAAmB,QAAQ;AAC3C,YAAU,KAAK;AACf,eAAa,KAAK;AAClB,eAAa,KAAK;AACtB;AAEA,SAAS,YAAY;AAErB;",
5
5
  "names": []
6
6
  }
@@ -3,12 +3,14 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import "./chai.js";
6
7
  import "./global-declarations.js";
7
8
  export * from "./chip/index.js";
8
9
  export * from "./device/index.js";
9
10
  export * from "./docker/index.js";
10
11
  export { afterRun } from "./mocha.js";
11
12
  export * from "./mocharc.cjs";
13
+ export * from "./runner.js";
12
14
  export * from "./util/heap.js";
13
15
  export * from "./util/wtf.js";
14
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,0BAA0B,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,WAAW,CAAC;AACnB,OAAO,0BAA0B,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
package/dist/esm/index.js CHANGED
@@ -3,12 +3,14 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import "./chai.js";
6
7
  import "./global-declarations.js";
7
8
  export * from "./chip/index.js";
8
9
  export * from "./device/index.js";
9
10
  export * from "./docker/index.js";
10
11
  import { afterRun } from "./mocha.js";
11
12
  export * from "./mocharc.cjs";
13
+ export * from "./runner.js";
12
14
  export * from "./util/heap.js";
13
15
  export * from "./util/wtf.js";
14
16
  export {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO;AACP,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAAS,gBAAgB;AACzB,cAAc;AACd,cAAc;AACd,cAAc;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO;AACP,OAAO;AACP,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAAS,gBAAgB;AACzB,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mocha.d.ts","sourceRoot":"","sources":["../../src/mocha.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,SAAS,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAK7B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAUzC,QAAA,MAAM,aAAa,eAAwB,CAAC;AAC5C,QAAA,MAAM,YAAY,eAAuB,CAAC;AAE1C,UAAU,YAAa,SAAQ,IAAI;IAC/B,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;IAC/C,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;CACjD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,QAK7E;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,QAK5E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,QAqCxC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,SAAS,QAqEhD;AAaD,wBAAsB,QAAQ,CAAC,KAAK,EAAE,KAAK,iBAoB1C;AAQD,wBAAgB,aAAa,CACzB,KAAK,EAAE,OAAO,SAAS,EACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,WAAW,GAAE,OAAe;iBAOJ,KAAK,CAAC,MAAM;;;;;;;;;;;;iBA6H8hZ,GAAG;;;;;;;;;;;;EA5DxkZ;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,QAwB/C;AAID,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAEzD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAExD"}
1
+ {"version":3,"file":"mocha.d.ts","sourceRoot":"","sources":["../../src/mocha.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,SAAS,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAK7B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAUzC,QAAA,MAAM,aAAa,eAAwB,CAAC;AAC5C,QAAA,MAAM,YAAY,eAAuB,CAAC;AAE1C,UAAU,YAAa,SAAQ,IAAI;IAC/B,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;IAC/C,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;CACjD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,QAK7E;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,QAK5E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,QAqCxC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,SAAS,QAuEhD;AAaD,wBAAsB,QAAQ,CAAC,KAAK,EAAE,KAAK,iBAoB1C;AAQD,wBAAgB,aAAa,CACzB,KAAK,EAAE,OAAO,SAAS,EACvB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,WAAW,GAAE,OAAe;iBAOJ,KAAK,CAAC,MAAM;;;;;;;;;;;;iBA6Hq+Y,GAAG;;;;;;;;;;;;EA5D/gZ;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,QAwB/C;AAID,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAEzD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAExD"}
package/dist/esm/mocha.js CHANGED
@@ -55,6 +55,7 @@ function generalSetup(mocha) {
55
55
  TextDiff.generator = Base.generateDiff.bind(Base);
56
56
  }
57
57
  function extendApi(Mocha2) {
58
+ Mocha2.reporters.Base.maxDiffSize = 65535;
58
59
  const descriptors = /* @__PURE__ */ new WeakMap();
59
60
  Object.defineProperty(Mocha2.Suite.prototype, "descriptor", {
60
61
  get() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/mocha.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["Mocha", "logs"]
6
6
  }
@@ -51,6 +51,13 @@ export declare const MockTime: {
51
51
  * Enable and reset if not already enabled.
52
52
  */
53
53
  init(): void;
54
+ /**
55
+ * Enable macrotasks (true) or microtasks (false) for mock time incrementation.
56
+ *
57
+ * Microtasks are the default and are more efficient. Macrotasks are required for e.g. most of node's crypto.subtle
58
+ * methods to resolve.
59
+ */
60
+ macrotasks: boolean;
54
61
  atTime<T>(time: number | Date, actor: () => T): T;
55
62
  now(): Date;
56
63
  nowMs(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../src/mocks/time.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,KAAK,aAAa,GAAG,MAAM,GAAG,CAAC;AAE/B,KAAK,YAAY,GAAG,OAAO,QAAQ,CAAC;AACpC,MAAM,WAAW,QAAS,SAAQ,YAAY;CAAG;AASjD,cAAM,SAAS;;IACX,IAAI,SAAU;IACd,QAAQ,SAAK;IACb,UAAU,SAAK;IACf,UAAU,UAAS;IAKnB,SAAS,UAAS;IAClB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;gBAE7B,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa;IAgBzF,KAAK;IAOL,IAAI;CAMP;AAYD,KAAK,eAAe,CAAC,CAAC,IAClB,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,GACd;IAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,EAAE,CAAA;CAAE,GACjF;IAAE,OAAO,EAAE,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,OAAO,CAAC,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,EAAE,CAAA;CAAE,CAAC;AAkB9E,eAAO,MAAM,QAAQ;;mCAGW,OAAO;IAInC;;OAEG;;IAMH;;OAEG;;IAMH;;OAEG;iBACS,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAMjD;;OAEG;;WAOI,CAAC,QAAQ,MAAM,GAAG,IAAI,SAAS,MAAM,CAAC,GAAG,CAAC;WAoB1C,IAAI;;mBAQI,MAAM,cAAc,MAAM,YAAY,aAAa,GAAG,SAAS;2BAIvD,MAAM,cAAc,MAAM,YAAY,aAAa,GAAG,SAAS;IAItF;;;;OAIG;YACW,CAAC,WAAW,WAAW,CAAC,CAAC,CAAC,2BAA0B;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE;IAgE3G;;OAEG;gBACe,MAAM;IAcxB;;;OAGG;;IAKH;;;;;OAKG;;IAOH;;;;;;;OAOG;kBACW,KAAK,SAAS,MAAM,EAAE,OAAO,EAAE,IAAI,SAAS,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,GAAE,OAC5F,IAAI,UACD,KAAK,eACA,CACT,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,KAC/B,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IA0C5F;;OAEG;wBACiB,MAAM;yBAIL,MAAM,YAAY,aAAa;qCAKnB,aAAa;CAKjD,CAAC;AAIF,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAC5B,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,GAAG,IAAI,OAAO,CAAC;IACf,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;CAC1B,QASA"}
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../../src/mocks/time.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,KAAK,aAAa,GAAG,MAAM,GAAG,CAAC;AAE/B,KAAK,YAAY,GAAG,OAAO,QAAQ,CAAC;AACpC,MAAM,WAAW,QAAS,SAAQ,YAAY;CAAG;AASjD,cAAM,SAAS;;IACX,IAAI,SAAU;IACd,QAAQ,SAAK;IACb,UAAU,SAAK;IACf,UAAU,UAAS;IAKnB,SAAS,UAAS;IAClB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;gBAE7B,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa;IAgBzF,KAAK;IAOL,IAAI;CAMP;AAYD,KAAK,eAAe,CAAC,CAAC,IAClB,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,GACd;IAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,OAAO,CAAC,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,EAAE,CAAA;CAAE,GACjF;IAAE,OAAO,EAAE,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,OAAO,CAAC,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,EAAE,CAAA;CAAE,CAAC;AAmB9E,eAAO,MAAM,QAAQ;;mCAGW,OAAO;IAInC;;OAEG;;IAMH;;OAEG;;IAMH;;OAEG;iBACS,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAOjD;;OAEG;;IAOH;;;;;OAKG;gBACmB,OAAO;WAItB,CAAC,QAAQ,MAAM,GAAG,IAAI,SAAS,MAAM,CAAC,GAAG,CAAC;WAoB1C,IAAI;;mBAQI,MAAM,cAAc,MAAM,YAAY,aAAa,GAAG,SAAS;2BAIvD,MAAM,cAAc,MAAM,YAAY,aAAa,GAAG,SAAS;IAItF;;;;OAIG;YACW,CAAC,WAAW,WAAW,CAAC,CAAC,CAAC,2BAA0B;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE;IAkE3G;;OAEG;gBACe,MAAM;IAcxB;;;OAGG;;IAKH;;;;;OAKG;;IAOH;;;;;;;OAOG;kBACW,KAAK,SAAS,MAAM,EAAE,OAAO,EAAE,IAAI,SAAS,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,GAAE,OAC5F,IAAI,UACD,KAAK,eACA,CACT,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,KAC/B,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IA0C5F;;OAEG;wBACiB,MAAM;yBAIL,MAAM,YAAY,aAAa;qCAKnB,aAAa;CAKjD,CAAC;AAIF,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAC5B,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,GAAG,IAAI,OAAO,CAAC;IACf,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;CAC1B,QASA"}
@@ -62,6 +62,7 @@ let callbacks = new Array();
62
62
  let nowMs = 0;
63
63
  let real = void 0;
64
64
  let enabled = false;
65
+ let defaultToMacrotasks = false;
65
66
  const epoch = /* @__PURE__ */ new Date("2025-01-01 12:34:56Z");
66
67
  const MockTime = {
67
68
  epoch,
@@ -88,6 +89,7 @@ const MockTime = {
88
89
  reset(time = epoch) {
89
90
  callbacks = [];
90
91
  nowMs = new Date(time).getTime();
92
+ defaultToMacrotasks = false;
91
93
  MockTime.enable();
92
94
  },
93
95
  /**
@@ -98,6 +100,15 @@ const MockTime = {
98
100
  MockTime.enable();
99
101
  }
100
102
  },
103
+ /**
104
+ * Enable macrotasks (true) or microtasks (false) for mock time incrementation.
105
+ *
106
+ * Microtasks are the default and are more efficient. Macrotasks are required for e.g. most of node's crypto.subtle
107
+ * methods to resolve.
108
+ */
109
+ set macrotasks(value) {
110
+ defaultToMacrotasks = value;
111
+ },
101
112
  atTime(time, actor) {
102
113
  const revertTo = nowMs;
103
114
  let isAsync2 = false;
@@ -150,7 +161,7 @@ const MockTime = {
150
161
  );
151
162
  let timeAdvanced = 0;
152
163
  while (!resolved) {
153
- if (macrotasks) {
164
+ if (macrotasks ?? defaultToMacrotasks) {
154
165
  await new Promise((resolve) => setTimeout(() => resolve(), 0));
155
166
  } else {
156
167
  await MockTime.yield();
@@ -165,6 +176,7 @@ const MockTime = {
165
176
  }
166
177
  if (stepMs) {
167
178
  await this.advance(stepMs);
179
+ timeAdvanced += stepMs;
168
180
  } else {
169
181
  await this.advance(1e3);
170
182
  timeAdvanced += 1e3;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/mocks/time.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,YAAY;AAOrB,MAAM,WAAW;AAAA,EACb,QAAQ,oBAAI,IAAe;AAAA,EAC3B,SAAS,QAAmB;AAAA,EAAC;AAAA,EAC7B,WAAW,QAAmB;AAAA,EAAC;AACnC;AAGA,MAAM,UAAU;AAAA,EACZ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,aAAa;AAAA,EACb,aAAa;AAAA,EAEb;AAAA,EACA;AAAA,EAEA,YAAY;AAAA,EACK;AAAA,EAEjB,YAAY,UAAoB,MAAc,YAAoB,UAAyB;AACvF,SAAK,OAAO;AAEZ,SAAK,YAAY;AACjB,SAAK,cAAc;AAEnB,QAAI,gBAAgB,cAAc;AAC9B,WAAK,WAAW;AAAA,IACpB,OAAO;AACH,WAAK,WAAW,MAAM;AAClB,aAAK,YAAY;AACjB,iBAAS;AAAA,MACb;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,QAAQ;AACJ,aAAS,SAAS,IAAI;AACtB,SAAK,UAAU,eAAe,KAAK,UAAU,MAAM,IAAI,KAAK,aAAa,KAAK,QAAQ;AACtF,SAAK,YAAY;AACjB,WAAO;AAAA,EACX;AAAA,EAEA,OAAO;AACH,aAAS,WAAW,IAAI;AACxB,SAAK,UAAU,eAAe,KAAK,QAAQ;AAC3C,SAAK,YAAY;AACjB,WAAO;AAAA,EACX;AACJ;AAEA,MAAM,qBAAqB,UAAU;AAAA,EACjC,YAAY,UAAoB,MAAc,YAAoB,UAAyB;AACvF,UAAM,mBAAmB,YAAY;AACjC,eAAS,eAAe,SAAS,MAAM,IAAI,YAAY,gBAAgB;AACvE,YAAM,SAAS;AAAA,IACnB;AACA,UAAM,UAAU,MAAM,YAAY,gBAAgB;AAAA,EACtD;AACJ;AAOA,SAAS,QAAQ,IAAiE;AAC9E,SAAO,GAAG,YAAY,SAAS;AACnC;AAEA,IAAI,YAAY,IAAI,MAAiD;AACrE,IAAI,QAAQ;AACZ,IAAI,OAAO;AACX,IAAI,UAAU;AAMd,MAAM,QAAQ,oBAAI,KAAK,sBAAsB;AAGtC,MAAM,WAAW;AAAA,EACpB;AAAA,EAEA,IAAI,uBAAgC;AAChC,WAAO,UAAU,OAAQ,QAAQ;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACN,cAAU;AACV,kCAA8B;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA,EAKA,SAAS;AACL,cAAU;AACV,kCAA8B;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,OAA8C,OAAO;AACvD,gBAAY,CAAC;AACb,YAAQ,IAAI,KAAK,IAAI,EAAE,QAAQ;AAC/B,aAAS,OAAO;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO;AACH,QAAI,CAAC,SAAS;AACV,eAAS,OAAO;AAAA,IACpB;AAAA,EACJ;AAAA,EAEA,OAAU,MAAqB,OAAmB;AAC9C,UAAM,WAAW;AACjB,QAAIA,WAAU;AACd,QAAI;AACA,cAAQ,OAAO,SAAS,WAAW,OAAO,KAAK,QAAQ;AACvD,YAAM,SAAS,MAAM;AACrB,UAAI,OAAQ,QAAgB,SAAS,YAAY;AAC7C,QAAAA,WAAU;AACV,eAAO,QAAQ,QAAQ,MAAM,EAAE,QAAQ,MAAM;AACzC,kBAAQ;AAAA,QACZ,CAAC;AAAA,MACL;AACA,aAAO;AAAA,IACX,UAAE;AACE,UAAI,CAACA,UAAS;AACV,gBAAQ;AAAA,MACZ;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAY;AACR,WAAO,IAAI,KAAK,KAAK;AAAA,EACzB;AAAA,EAEA,QAAQ;AACJ,WAAO;AAAA,EACX;AAAA,EAEA,SAAS,MAAc,YAAoB,UAAoC;AAC3E,WAAO,IAAI,UAAU,MAAM,MAAM,YAAY,QAAQ;AAAA,EACzD;AAAA,EAEA,iBAAiB,MAAc,YAAoB,UAAoC;AACnF,WAAO,IAAI,aAAa,MAAM,MAAM,YAAY,QAAQ;AAAA,EAC5D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,QAAW,SAAyB,EAAE,QAAQ,WAAW,IAA+C,CAAC,GAAG;AAC9G,QAAI,WAAW;AACf,QAAI;AACJ,QAAI;AAEJ,YAAQ;AAAA,MACJ,OAAK;AACD,mBAAW;AACX,iBAAS;AAAA,MACb;AAAA,MACA,OAAK;AACD,mBAAW;AACX,gBAAQ;AAAA,MACZ;AAAA,IACJ;AAEA,QAAI,eAAe;AACnB,WAAO,CAAC,UAAU;AAKd,UAAI,YAAY;AACZ,cAAM,IAAI,QAAc,aAAW,WAAW,MAAM,QAAQ,GAAG,CAAC,CAAC;AAAA,MACrE,OAAO;AACH,cAAM,SAAS,MAAM;AAAA,MACzB;AAEA,UAAI,UAAU;AACV;AAAA,MACJ;AAGA,UAAI,eAAe,KAAK,KAAK,KAAM;AAC/B,cAAM,IAAI;AAAA,UACN;AAAA,QACJ;AAAA,MACJ;AAEA,UAAI,QAAQ;AACR,cAAM,KAAK,QAAQ,MAAM;AAAA,MAC7B,OAAO;AAKH,cAAM,KAAK,QAAQ,GAAI;AACvB,wBAAgB;AAAA,MACpB;AAEA,UAAI,UAAU;AACV;AAAA,MACJ;AAEA,YAAM,KAAK,MAAM;AAAA,IACrB;AAEA,QAAI,UAAU,QAAW;AACrB,YAAM;AAAA,IACV;AAEA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,QAAQ,IAAY;AACtB,UAAM,YAAY,QAAQ;AAE1B,WAAO,UAAU,QAAQ;AACrB,YAAM,EAAE,MAAM,SAAS,IAAI,UAAU,CAAC;AACtC,UAAI,OAAO,UAAW;AACtB,gBAAU,MAAM;AAChB,cAAQ;AACR,YAAM,SAAS;AAAA,IACnB;AAEA,YAAQ;AAAA,EACZ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,QAAQ;AACV,UAAM,QAAQ,QAAQ;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,SAAS;AACX,UAAM,QAAQ,QAAQ;AACtB,UAAM,QAAQ,QAAQ;AACtB,UAAM,QAAQ,QAAQ;AAAA,EAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,cACI,KACA,QACA,aAGF;AACE,UAAM,WAAW,IAAI,MAAM;AAC3B,QAAI,CAAC,UAAU;AACX,YAAM,IAAI,MAAM,uBAAuB,MAAM,iBAAiB;AAAA,IAClE;AACA,QAAI;AACJ,QAAI,QAAQ,WAAW,GAAG;AACtB,UAAI,MAAM,IAAI,kBAA8B,MAAyB;AACjE,YAAI;AACA,gBAAM,UAAU,MAAM,SAAS,MAAM,MAAM,IAAI;AAC/C,mBAAS,EAAE,QAAQ;AAAA,QACvB,SAAS,QAAQ;AACb,mBAAS,EAAE,OAAO;AAAA,QACtB,UAAE;AACE,cAAI,MAAM,IAAI;AAAA,QAClB;AACA,iBAAU,MAAM,YAAY,MAAM,KAAM;AACxC,YAAI,OAAO,QAAQ;AACf,gBAAM,OAAO;AAAA,QACjB;AACA,eAAO,OAAO;AAAA,MAClB;AAAA,IACJ,OAAO;AACH,UAAI,MAAM,IAAI,YAAwB,MAAgB;AAClD,YAAI;AACA,gBAAM,UAAU,SAAS,MAAM,MAAM,IAAI;AACzC,mBAAS,EAAE,QAAQ;AAAA,QACvB,SAAS,QAAQ;AACb,mBAAS,EAAE,OAAO;AAAA,QACtB,UAAE;AACE,cAAI,MAAM,IAAI;AAAA,QAClB;AACA,iBAAU,YAAY,MAAM,KAAa;AACzC,YAAI,OAAO,QAAQ;AACf,gBAAM,OAAO;AAAA,QACjB;AACA,eAAO,OAAO;AAAA,MAClB;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc,MAAc;AACxB,WAAO,CAAC,GAAG,SAAS,MAAM,EAAE,OAAO,WAAS,MAAM,SAAS,IAAI,EAAE;AAAA,EACrE;AAAA,EAEA,eAAe,MAAc,UAAyB;AAClD,cAAU,KAAK,EAAE,MAAM,SAAS,CAAC;AACjC,cAAU,KAAK,CAAC,EAAE,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,MAAM,QAAQ,KAAK;AAAA,EACtE;AAAA,EAEA,eAAe,kBAAiC;AAC5C,UAAM,QAAQ,UAAU,UAAU,CAAC,EAAE,SAAS,MAAM,qBAAqB,QAAQ;AACjF,QAAI,UAAU,GAAI;AAClB,cAAU,OAAO,OAAO,CAAC;AAAA,EAC7B;AACJ;AAEA,IAAI;AAEG,SAAS,UAAU,MAMvB;AACC,WAAS,WAAW,KAAK;AACzB,WAAS,aAAa,KAAK;AAC3B,WAAS,SAAS,KAAK;AACvB,OAAK,QAAQ,WAAW,KAAK,QAAQ,YAAY;AACjD,SAAO,KAAK,IAAI;AAChB,EAAC,SAAiB,QAAS,KAAa;AACxC,gCAA8B,MAAO,KAAK,MAAM,MAAM,SAAS;AAC/D,8BAA4B;AAChC;AAEA,OAAO,OAAO,YAAY,EAAE,SAAS,CAAC;AAEtC,KAAK,KAAK,MAAM;AACZ,WAAS,MAAM;AACf,WAAS,QAAQ;AACrB,CAAC;",
4
+ "mappings": "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",
5
5
  "names": ["isAsync"]
6
6
  }
@@ -13,7 +13,11 @@ export declare class TestRunner {
13
13
  readonly options: TestOptions;
14
14
  static get current(): TestRunner;
15
15
  readonly reporter: Reporter;
16
- private spec;
16
+ /**
17
+ * If present the web runner will run this preprocessor on its entrypoint file. You can modify {@link lines} to
18
+ * add or change entrypoint logic.
19
+ */
20
+ entrypointPreprocessor?: (this: unknown, lines: string[]) => void;
17
21
  constructor(pkg: Package, progress: Progress, options: TestOptions);
18
22
  runNode(format?: "esm" | "cjs"): Promise<import("./test-descriptor.js").TestSuiteDescriptor>;
19
23
  runWeb(manual?: boolean): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/runner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,OAAO,EAAE,QAAQ,EAAO,MAAM,QAAQ,CAAC;AAQtD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,qBAAa,UAAU;;IAef,QAAQ,CAAC,GAAG,EAAE,OAAO;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,OAAO,EAAE,WAAW;IAdjC,MAAM,KAAK,OAAO,eAMjB;IAED,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,OAAO,CAAC,IAAI,CAAmB;gBAGlB,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW;IA8B3B,OAAO,CAAC,MAAM,GAAE,KAAK,GAAG,KAAa;IAIrC,MAAM,CAAC,MAAM,UAAQ;IAIrB,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK;CA6GxC"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/runner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,OAAO,EAAE,QAAQ,EAAO,MAAM,QAAQ,CAAC;AAQtD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAMzC,qBAAa,UAAU;;IAsBf,QAAQ,CAAC,GAAG,EAAE,OAAO;IACrB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,OAAO,EAAE,WAAW;IArBjC,MAAM,KAAK,OAAO,eAMjB;IAED,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAI5B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;gBAGrD,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW;IA8B3B,OAAO,CAAC,MAAM,GAAE,KAAK,GAAG,KAAa;IAMrC,MAAM,CAAC,MAAM,UAAQ;IAkBrB,SAAS,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK;CA6GxC"}
@@ -12,6 +12,7 @@ import { NodejsReporter } from "./nodejs-reporter.js";
12
12
  import { testNodejs } from "./nodejs.js";
13
13
  import { listSupportFiles } from "./util/files.js";
14
14
  import { testWeb } from "./web.js";
15
+ const HARNESS_CONFIG_FILE = "build/esm/test/test.harness.js";
15
16
  class TestRunner {
16
17
  constructor(pkg, progress, options) {
17
18
  this.pkg = pkg;
@@ -30,11 +31,11 @@ class TestRunner {
30
31
  }
31
32
  }();
32
33
  if (options.spec === void 0) {
33
- this.spec = ["test/**/*Test.ts"];
34
+ this.#spec = ["test/**/*Test.ts"];
34
35
  } else if (Array.isArray(options.spec)) {
35
- this.spec = options.spec;
36
+ this.#spec = options.spec;
36
37
  } else {
37
- this.spec = [options.spec];
38
+ this.#spec = [options.spec];
38
39
  }
39
40
  if (options.debug) {
40
41
  debug.enable("mocha:*");
@@ -48,16 +49,33 @@ class TestRunner {
48
49
  return this.#current;
49
50
  }
50
51
  reporter;
51
- spec = Array();
52
+ #spec = Array();
53
+ #configured = false;
54
+ /**
55
+ * If present the web runner will run this preprocessor on its entrypoint file. You can modify {@link lines} to
56
+ * add or change entrypoint logic.
57
+ */
58
+ entrypointPreprocessor;
52
59
  async runNode(format = "esm") {
60
+ await this.#configure();
53
61
  return await this.#run(this.progress, () => testNodejs(this, format));
54
62
  }
55
63
  async runWeb(manual = false) {
64
+ await this.#configure();
56
65
  await this.#run(this.progress, () => testWeb(this, manual));
57
66
  }
67
+ async #configure() {
68
+ if (this.#configured) {
69
+ return;
70
+ }
71
+ if (this.pkg.hasFile(HARNESS_CONFIG_FILE)) {
72
+ await import(this.pkg.resolve(HARNESS_CONFIG_FILE));
73
+ }
74
+ this.#configured = true;
75
+ }
58
76
  async loadFiles(format) {
59
77
  const tests = Array();
60
- for (let spec of this.spec) {
78
+ for (let spec of this.#spec) {
61
79
  spec = spec.replace(/\.ts$/, ".js");
62
80
  spec = relative(this.pkg.path, spec);
63
81
  if (!spec.startsWith(".") && !spec.startsWith("build/") && !spec.startsWith("dist/")) {
@@ -72,7 +90,7 @@ class TestRunner {
72
90
  tests[i] = await this.#mapSourceToTest(tests[i]);
73
91
  }
74
92
  if (!tests.length) {
75
- fatal(`No files match ${this.spec.join(", ")}`);
93
+ fatal(`No files match ${this.#spec.join(", ")}`);
76
94
  }
77
95
  return [...listSupportFiles(format), ...tests];
78
96
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/runner.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/util/files.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,wBAAgB,gBAAgB,CAAC,MAAM,SAAQ,YAe9C"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/util/files.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,wBAAgB,gBAAgB,CAAC,MAAM,SAAQ,YAgB9C"}
@@ -9,6 +9,7 @@ function listSupportFiles(format = "cjs") {
9
9
  const files = Array();
10
10
  const testing = Package.tools.findPackage("@matter/testing");
11
11
  files.push(testing.resolve("dist/esm/global-definitions.js"));
12
+ files.push(testing.resolve("dist/esm/chai.js"));
12
13
  files.push(testing.resolve("dist/esm/mocks/index.js"));
13
14
  const config = new Package().resolve(`build/${format}/test/test.config.js`);
14
15
  if (existsSync(config)) {