@matter/testing 0.12.2 → 0.12.3-alpha.0-20250205-ad3416ca3

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 (94) hide show
  1. package/dist/cjs/cli.js +1 -1
  2. package/dist/cjs/cli.js.map +1 -1
  3. package/dist/cjs/failure-detail.d.ts +7 -6
  4. package/dist/cjs/failure-detail.d.ts.map +1 -1
  5. package/dist/cjs/failure-detail.js +26 -75
  6. package/dist/cjs/failure-detail.js.map +2 -2
  7. package/dist/cjs/failure-reporter.d.ts +11 -0
  8. package/dist/cjs/failure-reporter.d.ts.map +1 -0
  9. package/dist/cjs/failure-reporter.js +78 -0
  10. package/dist/cjs/failure-reporter.js.map +6 -0
  11. package/dist/cjs/global-declarations.d.ts +8 -0
  12. package/dist/cjs/global-declarations.d.ts.map +1 -1
  13. package/dist/cjs/mocha.d.ts.map +1 -1
  14. package/dist/cjs/mocha.js +4 -3
  15. package/dist/cjs/mocha.js.map +1 -1
  16. package/dist/cjs/mocks/logging.js +2 -12
  17. package/dist/cjs/mocks/logging.js.map +2 -2
  18. package/dist/cjs/nodejs-reporter.d.ts +24 -0
  19. package/dist/cjs/nodejs-reporter.d.ts.map +1 -0
  20. package/dist/cjs/nodejs-reporter.js +123 -0
  21. package/dist/cjs/nodejs-reporter.js.map +6 -0
  22. package/dist/cjs/package.json +2 -1
  23. package/dist/cjs/reporter.d.ts +0 -23
  24. package/dist/cjs/reporter.d.ts.map +1 -1
  25. package/dist/cjs/reporter.js +0 -141
  26. package/dist/cjs/reporter.js.map +2 -2
  27. package/dist/cjs/runner.d.ts.map +1 -1
  28. package/dist/cjs/runner.js +7 -7
  29. package/dist/cjs/runner.js.map +2 -2
  30. package/dist/cjs/text-diff.d.ts +10 -0
  31. package/dist/cjs/text-diff.d.ts.map +1 -0
  32. package/dist/cjs/text-diff.js +37 -0
  33. package/dist/cjs/text-diff.js.map +6 -0
  34. package/dist/cjs/web-reporter.d.ts +22 -0
  35. package/dist/cjs/web-reporter.d.ts.map +1 -0
  36. package/dist/cjs/web-reporter.js +58 -0
  37. package/dist/cjs/web-reporter.js.map +6 -0
  38. package/dist/cjs/web.d.ts.map +1 -1
  39. package/dist/cjs/web.js +3 -3
  40. package/dist/cjs/web.js.map +1 -1
  41. package/dist/esm/cli.js +2 -2
  42. package/dist/esm/cli.js.map +1 -1
  43. package/dist/esm/failure-detail.d.ts +7 -6
  44. package/dist/esm/failure-detail.d.ts.map +1 -1
  45. package/dist/esm/failure-detail.js +26 -65
  46. package/dist/esm/failure-detail.js.map +2 -2
  47. package/dist/esm/failure-reporter.d.ts +11 -0
  48. package/dist/esm/failure-reporter.d.ts.map +1 -0
  49. package/dist/esm/failure-reporter.js +58 -0
  50. package/dist/esm/failure-reporter.js.map +6 -0
  51. package/dist/esm/global-declarations.d.ts +8 -0
  52. package/dist/esm/global-declarations.d.ts.map +1 -1
  53. package/dist/esm/mocha.d.ts.map +1 -1
  54. package/dist/esm/mocha.js +4 -3
  55. package/dist/esm/mocha.js.map +1 -1
  56. package/dist/esm/mocks/logging.js +2 -2
  57. package/dist/esm/mocks/logging.js.map +1 -1
  58. package/dist/esm/nodejs-reporter.d.ts +24 -0
  59. package/dist/esm/nodejs-reporter.d.ts.map +1 -0
  60. package/dist/esm/nodejs-reporter.js +103 -0
  61. package/dist/esm/nodejs-reporter.js.map +6 -0
  62. package/dist/esm/package.json +2 -1
  63. package/dist/esm/reporter.d.ts +0 -23
  64. package/dist/esm/reporter.d.ts.map +1 -1
  65. package/dist/esm/reporter.js +0 -127
  66. package/dist/esm/reporter.js.map +1 -1
  67. package/dist/esm/runner.d.ts.map +1 -1
  68. package/dist/esm/runner.js +8 -8
  69. package/dist/esm/runner.js.map +1 -1
  70. package/dist/esm/text-diff.d.ts +10 -0
  71. package/dist/esm/text-diff.d.ts.map +1 -0
  72. package/dist/esm/text-diff.js +17 -0
  73. package/dist/esm/text-diff.js.map +6 -0
  74. package/dist/esm/web-reporter.d.ts +22 -0
  75. package/dist/esm/web-reporter.d.ts.map +1 -0
  76. package/dist/esm/web-reporter.js +38 -0
  77. package/dist/esm/web-reporter.js.map +6 -0
  78. package/dist/esm/web.d.ts.map +1 -1
  79. package/dist/esm/web.js +3 -3
  80. package/dist/esm/web.js.map +1 -1
  81. package/package.json +4 -3
  82. package/src/cli.ts +2 -2
  83. package/src/failure-detail.ts +41 -64
  84. package/src/failure-reporter.ts +65 -0
  85. package/src/global-declarations.ts +8 -0
  86. package/src/mocha.ts +5 -3
  87. package/src/mocks/logging.ts +2 -2
  88. package/src/nodejs-reporter.ts +123 -0
  89. package/src/reporter.ts +0 -147
  90. package/src/runner.ts +10 -7
  91. package/src/text-diff.ts +16 -0
  92. package/src/tsconfig.json +5 -1
  93. package/src/web-reporter.ts +51 -0
  94. package/src/web.ts +4 -3
@@ -3,22 +3,9 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import colors from "ansi-colors";
7
- function FailureDetail(error, logs) {
8
- let diff;
9
- const { message, stack, cause, errors } = parseError(error);
10
- if (error.expected && error.actual) {
11
- if (FailureDetail.diff === void 0) {
12
- diff = "(no diff implementation installed)";
13
- } else {
14
- diff = FailureDetail.diff(error.actual.toString(), error.expected.toString());
15
- diff = diff.trim().replace(/^ {6}/gm, "");
16
- }
17
- }
6
+ function FailureDetail(error, logs, parentStack) {
7
+ const { message, stack, stackLines, cause, errors } = parseError(error, parentStack);
18
8
  const result = { message };
19
- if (diff) {
20
- result.diff = diff;
21
- }
22
9
  if (stack) {
23
10
  result.stack = stack;
24
11
  }
@@ -31,49 +18,23 @@ function FailureDetail(error, logs) {
31
18
  if (errors) {
32
19
  result.errors = errors;
33
20
  }
21
+ if (stackLines) {
22
+ result.stackLines = stackLines;
23
+ }
24
+ const { actual, expected } = error;
25
+ if (actual) {
26
+ result.actual = actual;
27
+ }
28
+ if (expected) {
29
+ result.expected = expected;
30
+ }
34
31
  return result;
35
32
  }
36
- ((FailureDetail2) => {
37
- function dump(failure, prefix = "") {
38
- process.stdout.write(colors.redBright(`${prefix}${failure.message}
39
-
40
- `));
41
- if (failure.diff) {
42
- process.stdout.write(`${prefix} ${failure.diff.replace(/\n/g, "\n ")}
43
-
44
- `);
45
- }
46
- if (failure.stack) {
47
- process.stdout.write(`${prefix}${colors.dim(failure.stack.replace(/\n/g, `
48
- ${prefix}`))}
49
-
50
- `);
51
- }
52
- if (failure.cause) {
53
- process.stdout.write(`${prefix}Caused by:
54
-
55
- `);
56
- dump(failure.cause, prefix);
57
- }
58
- if (failure.errors?.length) {
59
- let num = 0;
60
- for (const cause of failure.errors) {
61
- process.stdout.write(`${prefix}Cause #${++num}:
62
-
63
- `);
64
- dump(cause, `${prefix} `);
65
- }
66
- }
67
- if (failure.logs) {
68
- process.stdout.write(` ${failure.logs.replace(/\n/g, "\n ")}
69
-
70
- `);
71
- }
33
+ function messageAndStackFor(error, parentStack) {
34
+ if (MatterHooks?.messageAndStackFor) {
35
+ return MatterHooks.messageAndStackFor(error, parentStack);
72
36
  }
73
- FailureDetail2.dump = dump;
74
- })(FailureDetail || (FailureDetail = {}));
75
- function parseError(error) {
76
- let message, stack, cause, errors;
37
+ let message, stack;
77
38
  if (error === void 0 || error === null) {
78
39
  message = `(error is ${error})`;
79
40
  } else {
@@ -88,24 +49,24 @@ function parseError(error) {
88
49
  if (lines.length) {
89
50
  stack = lines.map((line) => line.trim()).join("\n");
90
51
  }
91
- } else if (error.message) {
92
- message = error.message;
93
- } else {
94
- message = error.toString();
95
52
  }
96
- message = message.trim().replace(/Error: /, "");
97
- if (message.endsWith(":")) {
98
- message = message.slice(0, message.length - 1);
53
+ if (!message) {
54
+ message = error.toString();
99
55
  }
56
+ return { message, stack };
57
+ }
58
+ function parseError(error, parentStack) {
59
+ const { message, stack, stackLines } = messageAndStackFor(error, parentStack);
60
+ let cause, errors;
100
61
  const errorCause = error.cause;
101
62
  if (errorCause) {
102
- cause = FailureDetail(errorCause);
63
+ cause = FailureDetail(errorCause, void 0, stackLines);
103
64
  }
104
65
  const errorErrors = error.errors;
105
66
  if (Array.isArray(errorErrors)) {
106
- errors = errorErrors.map((e) => FailureDetail(e));
67
+ errors = errorErrors.map((e) => FailureDetail(e, void 0, stackLines));
107
68
  }
108
- return { message, stack, cause, errors };
69
+ return { message, stack, stackLines, cause, errors };
109
70
  }
110
71
  export {
111
72
  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;AAMA,OAAO,YAAY;AAWZ,SAAS,cAAc,OAAY,MAAiB;AACvD,MAAI;AAEJ,QAAM,EAAE,SAAS,OAAO,OAAO,OAAO,IAAI,WAAW,KAAK;AAE1D,MAAI,MAAM,YAAY,MAAM,QAAQ;AAChC,QAAI,cAAc,SAAS,QAAW;AAClC,aAAO;AAAA,IACX,OAAO;AACH,aAAO,cAAc,KAAK,MAAM,OAAO,SAAS,GAAG,MAAM,SAAS,SAAS,CAAC;AAC5E,aAAO,KAAK,KAAK,EAAE,QAAQ,WAAW,EAAE;AAAA,IAC5C;AAAA,EACJ;AAEA,QAAM,SAAS,EAAE,QAAQ;AACzB,MAAI,MAAM;AACN,WAAO,OAAO;AAAA,EAClB;AACA,MAAI,OAAO;AACP,WAAO,QAAQ;AAAA,EACnB;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;AAEA,SAAO;AACX;AAAA,CAEO,CAAUA,mBAAV;AACI,WAAS,KAAK,SAAwB,SAAiB,IAAI;AAC9D,YAAQ,OAAO,MAAM,OAAO,UAAU,GAAG,MAAM,GAAG,QAAQ,OAAO;AAAA;AAAA,CAAM,CAAC;AAExE,QAAI,QAAQ,MAAM;AACd,cAAQ,OAAO,MAAM,GAAG,MAAM,OAAO,QAAQ,KAAK,QAAQ,OAAO,UAAU,CAAC;AAAA;AAAA,CAAM;AAAA,IACtF;AAEA,QAAI,QAAQ,OAAO;AACf,cAAQ,OAAO,MAAM,GAAG,MAAM,GAAG,OAAO,IAAI,QAAQ,MAAM,QAAQ,OAAO;AAAA,EAAK,MAAM,EAAE,CAAC,CAAC;AAAA;AAAA,CAAM;AAAA,IAClG;AAEA,QAAI,QAAQ,OAAO;AACf,cAAQ,OAAO,MAAM,GAAG,MAAM;AAAA;AAAA,CAAgB;AAC9C,WAAK,QAAQ,OAAO,MAAM;AAAA,IAC9B;AAEA,QAAI,QAAQ,QAAQ,QAAQ;AACxB,UAAI,MAAM;AACV,iBAAW,SAAS,QAAQ,QAAQ;AAChC,gBAAQ,OAAO,MAAM,GAAG,MAAM,UAAU,EAAE,GAAG;AAAA;AAAA,CAAO;AACpD,aAAK,OAAO,GAAG,MAAM,IAAI;AAAA,MAC7B;AAAA,IACJ;AAEA,QAAI,QAAQ,MAAM;AACd,cAAQ,OAAO,MAAM,KAAK,QAAQ,KAAK,QAAQ,OAAO,MAAM,CAAC;AAAA;AAAA,CAAM;AAAA,IACvE;AAAA,EACJ;AA3BO,EAAAA,eAAS;AAAA,GADH;AAiCjB,SAAS,WAAW,OAAc;AAC9B,MAAI,SAAS,OAAO,OAAkC;AAEtD,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,WAAW,MAAM,SAAS;AACtB,cAAU,MAAM;AAAA,EACpB,OAAO;AACH,cAAU,MAAM,SAAS;AAAA,EAC7B;AAEA,YAAU,QAAQ,KAAK,EAAE,QAAQ,WAAW,EAAE;AAE9C,MAAI,QAAQ,SAAS,GAAG,GAAG;AACvB,cAAU,QAAQ,MAAM,GAAG,QAAQ,SAAS,CAAC;AAAA,EACjD;AAEA,QAAM,aAAa,MAAM;AACzB,MAAI,YAAY;AACZ,YAAQ,cAAc,UAAU;AAAA,EACpC;AAEA,QAAM,cAAe,MAAyB;AAC9C,MAAI,MAAM,QAAQ,WAAW,GAAG;AAC5B,aAAS,YAAY,IAAI,OAAK,cAAc,CAAC,CAAC;AAAA,EAClD;AAEA,SAAO,EAAE,SAAS,OAAO,OAAO,OAAO;AAC3C;",
5
- "names": ["FailureDetail"]
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAoBO,SAAS,cAAc,OAAY,MAAiB,aAAwB;AAC/E,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,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,aAC0D;AAE1D,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,OAAO,WAAW,IAAI,mBAAmB,OAAO,WAAW;AAE5E,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,OAAO,YAAY,OAAO,OAAO;AACvD;",
5
+ "names": []
6
6
  }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Printer } from "#tools";
7
+ import { FailureDetail } from "./failure-detail.js";
8
+ export declare namespace FailureReporter {
9
+ function report(out: Printer, failure: FailureDetail, title: string): void;
10
+ }
11
+ //# sourceMappingURL=failure-reporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"failure-reporter.d.ts","sourceRoot":"","sources":["../../src/failure-reporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,OAAO,EAAU,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAMpD,yBAAiB,eAAe,CAAC;IAC7B,SAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,QAUzE;CACJ"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ansi, screen } from "#tools";
7
+ import { TextDiff } from "./text-diff.js";
8
+ const OUTER_PREFIX = `${ansi.red}\u258C ${ansi.not.red}`;
9
+ const INNER_PREFIX = `${ansi.dim}\u2506 ${ansi.not.dim}`;
10
+ var FailureReporter;
11
+ ((FailureReporter2) => {
12
+ function report(out, failure, title) {
13
+ out.state({ style: ansi.reset.white.bg.red }, () => {
14
+ out(screen.erase.toEol, "\n ", title, screen.erase.toEol, "\n", screen.erase.toEol, "\n");
15
+ });
16
+ out(screen.erase.toEol);
17
+ out.state({ linePrefix: OUTER_PREFIX }, () => {
18
+ dumpDetails(out, failure);
19
+ });
20
+ }
21
+ FailureReporter2.report = report;
22
+ })(FailureReporter || (FailureReporter = {}));
23
+ function dumpCause(out, failure) {
24
+ out.state({ linePrefix: INNER_PREFIX }, () => {
25
+ dumpDetails(out, failure);
26
+ });
27
+ }
28
+ function dumpDetails(out, { message, actual, expected, stack, cause, errors, logs }) {
29
+ out("\n", ansi.bright.red(message), "\n");
30
+ if (actual !== void 0 && expected !== void 0) {
31
+ out("\n");
32
+ out.state({ linePrefix: " " }, () => out(TextDiff(actual, expected)));
33
+ out("\n");
34
+ }
35
+ if (stack) {
36
+ out("\n");
37
+ out.state({ linePrefix: " " }, () => out(stack));
38
+ out("\n");
39
+ }
40
+ if (cause) {
41
+ out("\n", ansi.bold("Caused by:"), "\n");
42
+ dumpCause(out, cause);
43
+ }
44
+ if (errors?.length) {
45
+ let num = 0;
46
+ for (const cause2 of errors) {
47
+ out("\n", ansi.bold(`Cause #${++num}:`), "\n");
48
+ dumpCause(out, cause2);
49
+ }
50
+ }
51
+ if (logs) {
52
+ out("\n", logs, "\n");
53
+ }
54
+ }
55
+ export {
56
+ FailureReporter
57
+ };
58
+ //# sourceMappingURL=failure-reporter.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/failure-reporter.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,MAAe,cAAc;AAEtC,SAAS,gBAAgB;AAEzB,MAAM,eAAe,GAAG,KAAK,GAAG,UAAK,KAAK,IAAI,GAAG;AACjD,MAAM,eAAe,GAAG,KAAK,GAAG,UAAK,KAAK,IAAI,GAAG;AAE1C,IAAU;AAAA,CAAV,CAAUA,qBAAV;AACI,WAAS,OAAO,KAAc,SAAwB,OAAe;AACxE,QAAI,MAAM,EAAE,OAAO,KAAK,MAAM,MAAM,GAAG,IAAI,GAAG,MAAM;AAChD,UAAI,OAAO,MAAM,OAAO,OAAO,OAAO,OAAO,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,IAAI;AAAA,IAC5F,CAAC;AAED,QAAI,OAAO,MAAM,KAAK;AAEtB,QAAI,MAAM,EAAE,YAAY,aAAa,GAAG,MAAM;AAC1C,kBAAY,KAAK,OAAO;AAAA,IAC5B,CAAC;AAAA,EACL;AAVO,EAAAA,iBAAS;AAAA,GADH;AAcjB,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,QAAQ,UAAU,OAAO,OAAO,QAAQ,KAAK,GAAkB;AACzG,MAAI,MAAM,KAAK,OAAO,IAAI,OAAO,GAAG,IAAI;AAExC,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;",
5
+ "names": ["FailureReporter", "cause"]
6
+ }
@@ -38,6 +38,14 @@ declare global {
38
38
  * Receive intercepted log messages.
39
39
  */
40
40
  loggerSink?: (level: number, message: string) => void;
41
+ /**
42
+ * Extract error details.
43
+ */
44
+ messageAndStackFor?: (error: unknown, parentStack?: string[]) => {
45
+ message: string;
46
+ stack?: string;
47
+ stackLines?: string[];
48
+ };
41
49
  };
42
50
  namespace Mocha {
43
51
  interface Suite {
@@ -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,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,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,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;QAE5B;;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,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;QAEpC;;WAEG;QACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;KACzD,CAAC;IAER,UAAU,KAAK,CAAC;QACZ,UAAU,KAAK;YACX,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;SACvC;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,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,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,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;QAE5B;;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,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC;QAEpC;;WAEG;QACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAEtD;;WAEG;QACH,kBAAkB,CAAC,EAAE,CACjB,KAAK,EAAE,OAAO,EACd,WAAW,CAAC,EAAE,MAAM,EAAE,KACrB;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;KACnE,CAAC;IAER,UAAU,KAAK,CAAC;QACZ,UAAU,KAAK;YACX,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;SACvC;QAED,UAAU,IAAI;YACV,UAAU,EAAE,cAAc,CAAC;SAC9B;KACJ;CACJ"}
@@ -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,EAAwB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQ/D,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,QA8CxC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,SAAS,QAqEhD;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,KAAK,iBAgB1C;AAQD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;iBAM5D,KAAK,CAAC,MAAM;;;;;;;;;;;;iBA2Gq3a,GAAG;;;;;;;;;;;;EA3D/5a;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,QAuB/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,QA8CxC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,SAAS,QAqEhD;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,KAAK,iBAgB1C;AAQD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;iBAM5D,KAAK,CAAC,MAAM;;;;;;;;;;;;iBA2Gwza,GAAG;;;;;;;;;;;;EA3Dl2a;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,QAuB/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
@@ -7,8 +7,9 @@ import { FailureDetail } from "./failure-detail.js";
7
7
  import { Boot } from "./mocks/boot.js";
8
8
  import { LoggerHooks } from "./mocks/logging.js";
9
9
  import { TestOptions } from "./options.js";
10
- import { ConsoleProxyReporter } from "./reporter.js";
10
+ import { TextDiff } from "./text-diff.js";
11
11
  import { wtf } from "./util/wtf.js";
12
+ import { WebReporter } from "./web-reporter.js";
12
13
  const TEST_HOOK_TIMEOUT = 6e4;
13
14
  const beforeOneHook = Symbol("before-hook");
14
15
  const afterOneHook = Symbol("after-hook");
@@ -57,7 +58,7 @@ function generalSetup(mocha) {
57
58
  }
58
59
  return this.currentTest[afterOneHook]?.call(this, done);
59
60
  });
60
- FailureDetail.diff = Base.generateDiff.bind(Base);
61
+ TextDiff.generator = Base.generateDiff.bind(Base);
61
62
  }
62
63
  function extendApi(Mocha2) {
63
64
  const descriptors = /* @__PURE__ */ new WeakMap();
@@ -192,7 +193,7 @@ function browserSetup(mocha) {
192
193
  // Start Mocha, proxying reporting through console to Playwright and completing once Mocha has finished
193
194
  auto: async function(options) {
194
195
  TestOptions.apply(mocha, options);
195
- mocha.reporter(adaptReporter(Mocha, "Web", new ConsoleProxyReporter()));
196
+ mocha.reporter(adaptReporter(Mocha, "Web", new WebReporter()));
196
197
  return new Promise((accept) => {
197
198
  const runner = this.start();
198
199
  runner.on("end", accept);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/mocha.ts"],
4
- "mappings": "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",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AASA,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AACrB,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAG5B,SAAS,gBAAgB;AACzB,SAAS,WAAW;AACpB,SAAS,mBAAmB;AAI5B,MAAM,oBAAoB;AAE1B,MAAM,gBAAgB,OAAO,aAAa;AAC1C,MAAM,eAAe,OAAO,YAAY;AAUjC,SAAS,UAAU,MAAoB,IAAkC;AAC5E,MAAI,KAAK,aAAa,GAAG;AACrB,UAAM,IAAI,MAAM,uCAAuC;AAAA,EAC3D;AACA,OAAK,aAAa,IAAI;AAC1B;AAKO,SAAS,SAAS,MAAoB,IAAkC;AAC3E,MAAI,KAAK,YAAY,GAAG;AACpB,UAAM,IAAI,MAAM,sCAAsC;AAAA,EAC1D;AACA,OAAK,YAAY,IAAI;AACzB;AAEO,SAAS,aAAa,OAAc;AACvC,QAAM,OAAQ,MAAM,YAA6B,UAAU;AAG3D,OAAK,OAAO,mBAAmB,IAAI;AAGnC,OAAK,OAAO,qBAAqB,IAAI;AAErC,WAAS,WAAW,MAA6D;AAC7E,UAAM,SAAS,MAAM,MAAM,IAAI;AAC/B,UAAM,MAAM,IAAI,IAAI,SAAqB,IAAgB;AACrD,aAAO,OAAO,KAAK,MAAM,kBAA8B,MAAW;AAC9D,eAAO,MAAM,eAAe,MAAM,GAAG,MAAM,MAAM,IAAI,CAAC;AAAA,MAC1D,CAAC;AAAA,IACL;AAAA,EACJ;AAEA,aAAW,WAAW;AACtB,aAAW,UAAU;AACrB,aAAW,YAAY;AACvB,aAAW,WAAW;AAEtB,aAAW,SAAS,MAAM,MAAM,QAAQ;AACpC,UAAM,UAAU,cAAc;AAG9B,UAAM,QAAS,MAAc;AAC7B,UAAM,SAAS,MAAM,IAAI;AACzB,UAAM,QAAQ,MAAM;AAAA,EACxB;AAEA,QAAM,MAAM,WAAW,SAAU,MAAM;AACnC,SAAK,QAAQ,iBAAiB;AAC9B,WAAQ,KAAK,YAA6B,aAAa,GAAG,KAAK,MAAM,IAAI;AAAA,EAC7E,CAAC;AAED,QAAM,MAAM,UAAU,SAAU,MAAM;AAClC,SAAK,QAAQ,iBAAiB;AAC9B,eAAW,QAAQ,YAAY,WAAW;AACtC,WAAK,KAAK;AAAA,IACd;AACA,WAAQ,KAAK,YAA6B,YAAY,GAAG,KAAK,MAAM,IAAI;AAAA,EAC5E,CAAC;AAED,WAAS,YAAY,KAAK,aAAa,KAAK,IAAI;AACpD;AAEO,SAAS,UAAUA,QAAyB;AAC/C,QAAM,cAAc,oBAAI,QAAkD;AAE1E,SAAO,eAAeA,OAAM,MAAM,WAAW,cAAc;AAAA,IACvD,MAAsB;AAClB,YAAM,QAAQ;AACd,UAAI,aAAa,YAAY,IAAI,KAAK;AACtC,UAAI,YAAY;AACZ,eAAO;AAAA,MACX;AAEA,mBAAa;AAAA,QACT,IAAI,OAAO;AACP,iBAAO,MAAM;AAAA,QACjB;AAAA,QAEA,IAAI,OAAO;AACP,iBAAO;AAAA,QACX;AAAA,QAEA,IAAI,OAAO;AACP,iBAAO,MAAM;AAAA,QACjB;AAAA,QAEA,IAAI,UAAU;AACV,gBAAM,UAAU,MAAsB;AAEtC,qBAAW,OAAO,MAAM,QAAQ;AAC5B,oBAAQ,KAAK,IAAI,UAAU;AAAA,UAC/B;AAEA,qBAAW,QAAQ,MAAM,OAAO;AAC5B,gBAAI,KAAK,eAAe,QAAW;AAC/B,mBAAK,aAAa,EAAE,MAAM,KAAK,OAAO,MAAM,KAAK;AAAA,YACrD;AACA,oBAAQ,KAAK,KAAK,UAAU;AAAA,UAChC;AAEA,iBAAO;AAAA,QACX;AAAA,MACJ;AAEA,kBAAY,IAAI,OAAO,UAAU;AAEjC,aAAO;AAAA,IACX;AAAA,EACJ,CAAC;AAED,SAAO,eAAeA,OAAM,KAAK,WAAW,cAAc;AAAA,IACtD,IAAI,YAA4B;AAC5B,kBAAY,IAAI,MAAM,UAAU;AAAA,IACpC;AAAA,IAEA,MAAM;AACF,UAAI,aAAa,YAAY,IAAI,IAAI;AACrC,UAAI,YAAY;AACZ,eAAO;AAAA,MACX;AAEA,mBAAa;AAAA,QACT,MAAO,KAAoB;AAAA,QAC3B,MAAM;AAAA,MACV;AAEA,kBAAY,IAAI,MAAM,UAAU;AAEhC,aAAO;AAAA,IACX;AAAA,EACJ,CAAC;AACL;AAEA,eAAsB,SAAS,OAAc;AACzC,QAAM,eAAe,YAAY;AAC7B,eAAW,QAAQ,gBAAgB;AAC/B,YAAM,KAAK;AAAA,IACf;AAAA,EACJ,CAAC;AAED,QAAM,IAAI,QAAsB,aAAW;AACvC,UAAM,SAAS,MAAM,IAAI,MAAM,QAAQ,MAAM,CAAC;AAAA,EAClD,CAAC;AAED,QAAM,eAAe,YAAY;AAC7B,eAAW,QAAQ,eAAe;AAC9B,YAAM,KAAK;AAAA,IACf;AAAA,EACJ,CAAC;AACL;AAIA,SAAS,iBAAiB;AACtB,OAAK,OAAO;AAChB;AAEO,SAAS,cAAcA,QAAyB,OAAe,UAAoB;AACtF,QAAM,SAASA,OAAM,OAAO;AAE5B,MAAI,OAAO,MAAc;AAAA,EAEzB,MAAM,sBAAsBA,OAAM,UAAU,KAAK;AAAA,IAC7C,YAAY,QAAsB;AAC9B,YAAM,MAAM;AAEZ,aAAO,KAAK,OAAO,iBAAiB,MAAM;AACtC,YAAI,CAAC,aAAa;AACd,gBAAM,IAAI,MAAM,yBAAyB;AAAA,QAC7C;AACA,oBAAY,aAAa,CAAC,GAAG,YAAY;AACrC,eAAK,KAAK,OAAO;AAAA,QACrB;AACA,iBAAS,SAAS,OAAO,KAAK,eAAe;AAAA,MACjD,CAAC;AAED,aAAO,GAAG,OAAO,mBAAmB,WAAS;AACzC,iBAAS,WAAW,MAAM,UAAU,GAAG,KAAK,eAAe;AAAA,MAC/D,CAAC;AAED,aAAO,GAAG,OAAO,kBAAkB,UAAQ;AACvC,eAAQ,KAAa,OAAO,CAAC;AAC7B,iBAAS,UAAU,KAAK,OAAO,KAAK,eAAe;AAAA,MACvD,CAAC;AAED,aAAO,GAAG,OAAO,iBAAiB,CAAC,MAAM,UAAU;AAC/C,cAAMC,QAAQ,KAAa;AAC3B,iBAAS,SAAS,KAAK,OAAO,cAAc,OAAOA,KAAI,CAAC;AACxD,YAAI,KAAK;AAAA,MACb,CAAC;AAED,aAAO,KAAK,OAAO,eAAe,MAAM;AACpC,YAAI,CAAC,aAAa;AACd,gBAAM,IAAI,MAAM,yBAAyB;AAAA,QAC7C;AACA,oBAAY,aAAa;AACzB,iBAAS,OAAO,KAAK,eAAe;AACpC,YAAI,KAAK;AAAA,MACb,CAAC;AAAA,IACL;AAAA,IAEA,IAAI,kBAAkB;AAClB,aAAO;AAAA,QACH,OAAO,KAAK,OAAO;AAAA,QACnB,UAAU,KAAK,MAAM;AAAA,QACrB,UAAU,KAAK,MAAM;AAAA,MACzB;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AACX;AAEO,SAAS,aAAa,OAAqB;AAC9C,QAAM,MAAM,KAAK;AAEjB,EAAC,WAAmB,aAAa;AAAA;AAAA,IAE7B,OAAO,MAAM;AACT,YAAM,OAAO,SAAS,cAAc,QAAQ;AAC5C,UAAI,MAAM;AACN,aAAK,YAAY;AAAA,MACrB;AACA,aAAO,MAAM,IAAI;AAAA,IACrB;AAAA;AAAA,IAGA,MAAM,eAAgB,SAAsB;AACxC,kBAAY,MAAM,OAAO,OAAO;AAChC,YAAM,SAAS,cAAc,OAAO,OAAO,IAAI,YAAY,CAAC,CAAC;AAC7D,aAAO,IAAI,QAAc,YAAU;AAC/B,cAAM,SAAS,KAAK,MAAM;AAC1B,eAAO,GAAG,OAAO,MAAM;AAAA,MAC3B,CAAC;AAAA,IACL;AAAA,EACJ;AACJ;AACA,MAAM,iBAAiB,MAAkC;AACzD,MAAM,gBAAgB,MAAkC;AAEjD,SAAS,UAAU,MAAkC;AACxD,iBAAe,KAAK,IAAI;AAC5B;AAEO,SAAS,SAAS,MAAkC;AACvD,gBAAc,KAAK,IAAI;AAC3B;AAKA,eAAe,eAAe,IAAe;AACzC,MAAI,CAAC,aAAa;AACd,UAAM,IAAI,MAAM,yBAAyB;AAAA,EAC7C;AAEA,QAAM,OAAO,MAAc;AAC3B,QAAM,eAAe,YAAY;AACjC,MAAI;AACA,gBAAY,aAAa,CAAC,GAAG,YAAY;AACrC,WAAK,KAAK,OAAO;AAAA,IACrB;AACA,WAAO,MAAM,GAAG;AAAA,EACpB,SAAS,GAAG;AACR,YAAQ,OAAO,MAAM,KAAK,KAAK,IAAI,CAAC;AACpC,UAAM;AAAA,EACV,UAAE;AACE,gBAAY,aAAa;AAAA,EAC7B;AACJ;",
5
5
  "names": ["Mocha", "logs"]
6
6
  }
@@ -3,13 +3,13 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import colors from "ansi-colors";
6
+ import { ansi, Wrapper } from "#tools/ansi-text";
7
7
  const TheMockLogger = {
8
8
  emitAll: false,
9
9
  injectExternalMessage: (source, text) => console.log(formatExternalMessage(source, text))
10
10
  };
11
11
  function formatExternalMessage(source, text) {
12
- return `${colors.bgCyan.black.bold(` ${source} `)} ${colors.dim(text)}`;
12
+ return `${Wrapper.prefixStart}${ansi.black.bg.cyan.bold(` ${source} `)} ${Wrapper.prefixStop}${ansi.dim(text)}`;
13
13
  }
14
14
  const LoggerHooks = {
15
15
  beforeEach: Array(),
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/mocks/logging.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,OAAO,YAAY;AAYZ,MAAM,gBAA4B;AAAA,EACrC,SAAS;AAAA,EACT,uBAAuB,CAAC,QAAgB,SAAiB,QAAQ,IAAI,sBAAsB,QAAQ,IAAI,CAAC;AAC5G;AAEA,SAAS,sBAAsB,QAAgB,MAAc;AACzD,SAAO,GAAG,OAAO,OAAO,MAAM,KAAK,IAAI,MAAM,GAAG,CAAC,IAAI,OAAO,IAAI,IAAI,CAAC;AACzE;AASO,MAAM,cAAc;AAAA,EACvB,YAAY,MAA8B;AAAA,EAC1C,WAAW,MAA8B;AAC7C;AAEO,SAAS,YAAY,QAAoB;AAU5C,SAAO,SAAS;AAEhB,MAAI;AAEJ,QAAM,aAAa,OAAO;AAE1B,WAAS,YAAY,MAAwB;AACzC,eAAW,MAAM,QAAQ,IAAI;AAAA,EACjC;AAEA,WAAS,sBAAsB,MAAwB;AACnD,QAAI,UAAU,cAAc;AAC5B,QAAI,aAAa,YAAY;AACzB,kBAAY,WAAW,GAAG,IAAI;AAAA,IAClC,WAAW,CAAC,SAAS;AACjB,UAAI,eAAe;AACf,sBAAc,KAAK,IAAI;AAAA,MAC3B,OAAO;AACH,kBAAU;AAAA,MACd;AAAA,IACJ;AAEA,QAAI,SAAS;AACT,kBAAY,IAAI;AAAA,IACpB;AAAA,EACJ;AAEA,gBAAc,wBAAwB,CAAC,QAAQ,SAAS,mBAAmB,GAAG,sBAAsB,QAAQ,IAAI,CAAC;AAEjH,SAAO,MAAM;AAGb,cAAY,WAAW,KAAK,WAAY;AACpC,QAAI,CAAC,cAAc,SAAS;AACxB,sBAAgB,CAAC;AAAA,IACrB;AAAA,EACJ,CAAC;AAGD,cAAY,UAAU,KAAK,WAAS;AAChC,QAAI,eAAe,QAAQ;AACvB,UAAI,MAAM,MAAM,IAAI,aAAa,SAAS,GAAG;AACzC,mBAAW,QAAQ,eAAe;AAC9B,sBAAY,IAAI;AAAA,QACpB;AAAA,MACJ;AACA,sBAAgB;AAAA,IACpB;AAAA,EACJ,CAAC;AACL;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,MAAM,eAAe;AAYvB,MAAM,gBAA4B;AAAA,EACrC,SAAS;AAAA,EACT,uBAAuB,CAAC,QAAgB,SAAiB,QAAQ,IAAI,sBAAsB,QAAQ,IAAI,CAAC;AAC5G;AAEA,SAAS,sBAAsB,QAAgB,MAAc;AACzD,SAAO,GAAG,QAAQ,WAAW,GAAG,KAAK,MAAM,GAAG,KAAK,KAAK,IAAI,MAAM,GAAG,CAAC,IAAI,QAAQ,UAAU,GAAG,KAAK,IAAI,IAAI,CAAC;AACjH;AASO,MAAM,cAAc;AAAA,EACvB,YAAY,MAA8B;AAAA,EAC1C,WAAW,MAA8B;AAC7C;AAEO,SAAS,YAAY,QAAoB;AAU5C,SAAO,SAAS;AAEhB,MAAI;AAEJ,QAAM,aAAa,OAAO;AAE1B,WAAS,YAAY,MAAwB;AACzC,eAAW,MAAM,QAAQ,IAAI;AAAA,EACjC;AAEA,WAAS,sBAAsB,MAAwB;AACnD,QAAI,UAAU,cAAc;AAC5B,QAAI,aAAa,YAAY;AACzB,kBAAY,WAAW,GAAG,IAAI;AAAA,IAClC,WAAW,CAAC,SAAS;AACjB,UAAI,eAAe;AACf,sBAAc,KAAK,IAAI;AAAA,MAC3B,OAAO;AACH,kBAAU;AAAA,MACd;AAAA,IACJ;AAEA,QAAI,SAAS;AACT,kBAAY,IAAI;AAAA,IACpB;AAAA,EACJ;AAEA,gBAAc,wBAAwB,CAAC,QAAQ,SAAS,mBAAmB,GAAG,sBAAsB,QAAQ,IAAI,CAAC;AAEjH,SAAO,MAAM;AAGb,cAAY,WAAW,KAAK,WAAY;AACpC,QAAI,CAAC,cAAc,SAAS;AACxB,sBAAgB,CAAC;AAAA,IACrB;AAAA,EACJ,CAAC;AAGD,cAAY,UAAU,KAAK,WAAS;AAChC,QAAI,eAAe,QAAQ;AACvB,UAAI,MAAM,MAAM,IAAI,aAAa,SAAS,GAAG;AACzC,mBAAW,QAAQ,eAAe;AAC9B,sBAAY,IAAI;AAAA,QACpB;AAAA,MACJ;AACA,sBAAgB;AAAA,IACpB;AAAA,EACJ,CAAC;AACL;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Progress } from "#tools";
7
+ import { FailureDetail } from "./failure-detail.js";
8
+ import { Reporter, Stats } from "./reporter.js";
9
+ /**
10
+ * Test UI for Node.js.
11
+ */
12
+ export declare abstract class NodejsReporter implements Reporter {
13
+ #private;
14
+ private progress;
15
+ constructor(progress: Progress);
16
+ beginRun(name: string, stats: Stats | undefined, supportsSuites?: boolean): void;
17
+ beginSuite(name: string[]): void;
18
+ beginTest(name: string, stats?: Stats): void;
19
+ beginStep(name: string): void;
20
+ failTest(name: string, detail: FailureDetail): void;
21
+ abstract failRun(detail: FailureDetail): void;
22
+ endRun(stats?: Stats): void;
23
+ }
24
+ //# sourceMappingURL=nodejs-reporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodejs-reporter.d.ts","sourceRoot":"","sources":["../../src/nodejs-reporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAa,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAW,QAAQ,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEzD;;GAEG;AACH,8BAAsB,cAAe,YAAW,QAAQ;;IASxC,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAEtC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,EAAE,cAAc,UAAO,GAAG,IAAI;IAS7E,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAIhC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAU5C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAiB7B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;IAS5C,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAE7C,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;CA8C9B"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ansi, std } from "#tools";
7
+ import { FailureReporter } from "./failure-reporter.js";
8
+ class NodejsReporter {
9
+ constructor(progress) {
10
+ this.progress = progress;
11
+ }
12
+ #run = "";
13
+ #suite = Array();
14
+ #test;
15
+ #step;
16
+ #stats;
17
+ #failures = Array();
18
+ #lastTitle;
19
+ beginRun(name, stats, supportsSuites = true) {
20
+ this.#run = name;
21
+ this.#suite = [];
22
+ this.#failures = [];
23
+ if (!supportsSuites) {
24
+ this.progress.update(this.#summarize(stats));
25
+ }
26
+ }
27
+ beginSuite(name) {
28
+ this.#suite = name;
29
+ }
30
+ beginTest(name, stats) {
31
+ this.#test = name;
32
+ this.#stats = stats;
33
+ this.#step = void 0;
34
+ const title = process.stdout.isTTY ? this.#formatName(this.#suite, name) : this.#suite[0];
35
+ this.#updateTitle(title);
36
+ }
37
+ beginStep(name) {
38
+ this.#step = name;
39
+ if (process.stdout.isTTY && this.#test) {
40
+ const title = this.#formatName(this.#suite, this.#test, name);
41
+ this.#updateTitle(title);
42
+ }
43
+ }
44
+ #updateTitle(title) {
45
+ if (title === this.#lastTitle) {
46
+ return;
47
+ }
48
+ this.#lastTitle = title;
49
+ this.progress.update(this.#summarize(this.#stats), title);
50
+ }
51
+ failTest(name, detail) {
52
+ this.#failures.push({
53
+ suite: this.#suite,
54
+ test: name,
55
+ step: this.#step,
56
+ detail
57
+ });
58
+ }
59
+ endRun(stats) {
60
+ if (this.#failures.length) {
61
+ this.progress.failure(this.#summarize(stats));
62
+ this.#dumpFailures();
63
+ } else if (stats && !stats.complete) {
64
+ this.progress.failure("No tests found");
65
+ } else {
66
+ this.progress.success(this.#summarize(stats));
67
+ }
68
+ }
69
+ #summarize(stats) {
70
+ let statStr;
71
+ if (stats) {
72
+ const complete = ansi.dim(`${stats.complete}/${stats.total}`);
73
+ const failures = stats.failures ? ansi.bright.red(` ${stats.failures.toString()} failed`) : "";
74
+ statStr = ` ${complete}${failures}`;
75
+ } else {
76
+ statStr = "";
77
+ }
78
+ return `${ansi.bold(this.#run)}${statStr}`;
79
+ }
80
+ #dumpFailures() {
81
+ for (let i = 0; i < this.#failures.length; i++) {
82
+ if (i !== 0) {
83
+ std.out("\n");
84
+ }
85
+ const failure = this.#failures[i];
86
+ const index = `Failure ${ansi.bold((i + 1).toString())} of ${this.#failures.length}`;
87
+ const title = `${index} ${this.#formatName(failure.suite, failure.test, failure.step)}`;
88
+ FailureReporter.report(std.out, failure.detail, title);
89
+ }
90
+ }
91
+ #formatName(suite, test, step) {
92
+ const breadcrumb = [...suite, test];
93
+ if (step) {
94
+ breadcrumb.push(step);
95
+ }
96
+ breadcrumb[breadcrumb.length - 1] = ansi.bold(breadcrumb[breadcrumb.length - 1]).toString();
97
+ return breadcrumb.join(" \u27A1 ");
98
+ }
99
+ }
100
+ export {
101
+ NodejsReporter
102
+ };
103
+ //# sourceMappingURL=nodejs-reporter.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/nodejs-reporter.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "imports": {
4
- "#tools": "@matter/tools"
4
+ "#tools": "@matter/tools",
5
+ "#tools/ansi-text": "@matter/tools/ansi-text"
5
6
  }
6
7
  }
@@ -3,7 +3,6 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Progress } from "#tools";
7
6
  import { FailureDetail } from "./failure-detail.js";
8
7
  export type Stats = {
9
8
  total: number;
@@ -25,26 +24,4 @@ export interface Failure {
25
24
  step?: string;
26
25
  detail: FailureDetail;
27
26
  }
28
- export declare abstract class ProgressReporter implements Reporter {
29
- #private;
30
- private progress;
31
- constructor(progress: Progress);
32
- beginRun(name: string, stats: Stats | undefined, supportsSuites?: boolean): void;
33
- beginSuite(name: string[]): void;
34
- beginTest(name: string, stats?: Stats): void;
35
- beginStep(name: string): void;
36
- failTest(name: string, detail: FailureDetail): void;
37
- abstract failRun(detail: FailureDetail): void;
38
- endRun(stats?: Stats): void;
39
- }
40
- export declare class ConsoleProxyReporter implements Reporter {
41
- static FLAG: string;
42
- beginRun(name: string, stats?: Stats): void;
43
- beginSuite(name: string[], stats?: Stats): void;
44
- beginTest(name: string, stats?: Stats): void;
45
- beginStep(name: string): void;
46
- endRun(stats?: Stats): void;
47
- failTest(name: string, detail: FailureDetail): void;
48
- failRun(detail: FailureDetail): void;
49
- }
50
27
  //# sourceMappingURL=reporter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/reporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,MAAM,KAAK,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACtE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAChD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IACpD,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,OAAO;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,CAAC;CACzB;AAED,8BAAsB,gBAAiB,YAAW,QAAQ;;IAS1C,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAEtC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,EAAE,cAAc,UAAO,GAAG,IAAI;IAS7E,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAIhC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAU5C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAiB7B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;IAS5C,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAE7C,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;CA0C9B;AASD,qBAAa,oBAAqB,YAAW,QAAQ;IACjD,MAAM,CAAC,IAAI,SAAiB;IAE5B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;IAIpC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK;IAIxC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;IAIrC,SAAS,CAAC,IAAI,EAAE,MAAM;IAItB,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK;IAIpB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa;IAI5C,OAAO,CAAC,MAAM,EAAE,aAAa;CAGhC"}
1
+ {"version":3,"file":"reporter.d.ts","sourceRoot":"","sources":["../../src/reporter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,MAAM,KAAK,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,QAAQ;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACtE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAChD,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IACpD,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,OAAO;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,CAAC;CACzB"}