@matter/testing 0.12.2 → 0.12.3-alpha.0-20250203-34ba45cae

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
package/dist/cjs/cli.js CHANGED
@@ -80,7 +80,7 @@ async function main(argv = process.argv) {
80
80
  const firstSpec = Array.isArray(args.spec) ? args.spec[0] : args.spec;
81
81
  packageLocation = firstSpec;
82
82
  }
83
- const builder = new import_tools.Builder();
83
+ const builder = new import_tools.ProjectBuilder();
84
84
  const pkg = new import_tools.Package({ path: packageLocation });
85
85
  if (pkg.isWorkspace) {
86
86
  const graph = await import_tools.Graph.load(pkg);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cli.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["TestType", "yargs", "pkg", "progress", "runner"]
6
6
  }
@@ -6,14 +6,15 @@
6
6
  export interface FailureDetail {
7
7
  message: string;
8
8
  stack?: string;
9
- diff?: string;
9
+ stackLines?: string[];
10
+ actual?: string;
11
+ expected?: string;
10
12
  logs?: string;
11
13
  cause?: FailureDetail;
12
14
  errors?: FailureDetail[];
13
15
  }
14
- export declare function FailureDetail(error: any, logs?: string[]): FailureDetail;
15
- export declare namespace FailureDetail {
16
- function dump(failure: FailureDetail, prefix?: string): void;
17
- let diff: undefined | ((actual: string, expected: string) => string);
18
- }
16
+ /**
17
+ * Captures all pertinent information about a failed test.
18
+ */
19
+ export declare function FailureDetail(error: any, logs?: string[], parentStack?: string[]): FailureDetail;
19
20
  //# sourceMappingURL=failure-detail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"failure-detail.d.ts","sourceRoot":"","sources":["../../src/failure-detail.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,aAAa;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,iBAgCxD;AAED,yBAAiB,aAAa,CAAC;IAC3B,SAAgB,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,GAAE,MAAW,QA2B/D;IAEM,IAAI,IAAI,EAAE,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;CAC/E"}
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,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,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,iBA6BhF"}
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,41 +15,20 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
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
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
19
  var failure_detail_exports = {};
30
20
  __export(failure_detail_exports, {
31
21
  FailureDetail: () => FailureDetail
32
22
  });
33
23
  module.exports = __toCommonJS(failure_detail_exports);
34
- var import_ansi_colors = __toESM(require("ansi-colors"), 1);
35
24
  /**
36
25
  * @license
37
26
  * Copyright 2022-2025 Matter.js Authors
38
27
  * SPDX-License-Identifier: Apache-2.0
39
28
  */
40
- function FailureDetail(error, logs) {
41
- let diff;
42
- const { message, stack, cause, errors } = parseError(error);
43
- if (error.expected && error.actual) {
44
- if (FailureDetail.diff === void 0) {
45
- diff = "(no diff implementation installed)";
46
- } else {
47
- diff = FailureDetail.diff(error.actual.toString(), error.expected.toString());
48
- diff = diff.trim().replace(/^ {6}/gm, "");
49
- }
50
- }
29
+ function FailureDetail(error, logs, parentStack) {
30
+ const { message, stack, stackLines, cause, errors } = parseError(error, parentStack);
51
31
  const result = { message };
52
- if (diff) {
53
- result.diff = diff;
54
- }
55
32
  if (stack) {
56
33
  result.stack = stack;
57
34
  }
@@ -64,49 +41,23 @@ function FailureDetail(error, logs) {
64
41
  if (errors) {
65
42
  result.errors = errors;
66
43
  }
44
+ if (stackLines) {
45
+ result.stackLines = stackLines;
46
+ }
47
+ const { actual, expected } = error;
48
+ if (actual) {
49
+ result.actual = actual;
50
+ }
51
+ if (expected) {
52
+ result.expected = expected;
53
+ }
67
54
  return result;
68
55
  }
69
- ((FailureDetail2) => {
70
- function dump(failure, prefix = "") {
71
- process.stdout.write(import_ansi_colors.default.redBright(`${prefix}${failure.message}
72
-
73
- `));
74
- if (failure.diff) {
75
- process.stdout.write(`${prefix} ${failure.diff.replace(/\n/g, "\n ")}
76
-
77
- `);
78
- }
79
- if (failure.stack) {
80
- process.stdout.write(`${prefix}${import_ansi_colors.default.dim(failure.stack.replace(/\n/g, `
81
- ${prefix}`))}
82
-
83
- `);
84
- }
85
- if (failure.cause) {
86
- process.stdout.write(`${prefix}Caused by:
87
-
88
- `);
89
- dump(failure.cause, prefix);
90
- }
91
- if (failure.errors?.length) {
92
- let num = 0;
93
- for (const cause of failure.errors) {
94
- process.stdout.write(`${prefix}Cause #${++num}:
95
-
96
- `);
97
- dump(cause, `${prefix} `);
98
- }
99
- }
100
- if (failure.logs) {
101
- process.stdout.write(` ${failure.logs.replace(/\n/g, "\n ")}
102
-
103
- `);
104
- }
56
+ function messageAndStackFor(error, parentStack) {
57
+ if (MatterHooks?.messageAndStackFor) {
58
+ return MatterHooks.messageAndStackFor(error, parentStack);
105
59
  }
106
- FailureDetail2.dump = dump;
107
- })(FailureDetail || (FailureDetail = {}));
108
- function parseError(error) {
109
- let message, stack, cause, errors;
60
+ let message, stack;
110
61
  if (error === void 0 || error === null) {
111
62
  message = `(error is ${error})`;
112
63
  } else {
@@ -121,23 +72,23 @@ function parseError(error) {
121
72
  if (lines.length) {
122
73
  stack = lines.map((line) => line.trim()).join("\n");
123
74
  }
124
- } else if (error.message) {
125
- message = error.message;
126
- } else {
127
- message = error.toString();
128
75
  }
129
- message = message.trim().replace(/Error: /, "");
130
- if (message.endsWith(":")) {
131
- message = message.slice(0, message.length - 1);
76
+ if (!message) {
77
+ message = error.toString();
132
78
  }
79
+ return { message, stack };
80
+ }
81
+ function parseError(error, parentStack) {
82
+ const { message, stack, stackLines } = messageAndStackFor(error, parentStack);
83
+ let cause, errors;
133
84
  const errorCause = error.cause;
134
85
  if (errorCause) {
135
- cause = FailureDetail(errorCause);
86
+ cause = FailureDetail(errorCause, void 0, stackLines);
136
87
  }
137
88
  const errorErrors = error.errors;
138
89
  if (Array.isArray(errorErrors)) {
139
- errors = errorErrors.map((e) => FailureDetail(e));
90
+ errors = errorErrors.map((e) => FailureDetail(e, void 0, stackLines));
140
91
  }
141
- return { message, stack, cause, errors };
92
+ return { message, stack, stackLines, cause, errors };
142
93
  }
143
94
  //# sourceMappingURL=failure-detail.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/failure-detail.ts"],
4
- "mappings": "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",
5
- "names": ["FailureDetail", "colors"]
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;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,78 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var failure_reporter_exports = {};
20
+ __export(failure_reporter_exports, {
21
+ FailureReporter: () => FailureReporter
22
+ });
23
+ module.exports = __toCommonJS(failure_reporter_exports);
24
+ var import_tools = require("#tools");
25
+ var import_text_diff = require("./text-diff.js");
26
+ /**
27
+ * @license
28
+ * Copyright 2022-2024 Matter.js Authors
29
+ * SPDX-License-Identifier: Apache-2.0
30
+ */
31
+ const OUTER_PREFIX = `${import_tools.ansi.red}\u258C ${import_tools.ansi.not.red}`;
32
+ const INNER_PREFIX = `${import_tools.ansi.dim}\u2506 ${import_tools.ansi.not.dim}`;
33
+ var FailureReporter;
34
+ ((FailureReporter2) => {
35
+ function report(out, failure, title) {
36
+ out.state({ style: import_tools.ansi.reset.white.bg.red }, () => {
37
+ out(import_tools.screen.erase.toEol, "\n ", title, import_tools.screen.erase.toEol, "\n", import_tools.screen.erase.toEol, "\n");
38
+ });
39
+ out(import_tools.screen.erase.toEol);
40
+ out.state({ linePrefix: OUTER_PREFIX }, () => {
41
+ dumpDetails(out, failure);
42
+ });
43
+ }
44
+ FailureReporter2.report = report;
45
+ })(FailureReporter || (FailureReporter = {}));
46
+ function dumpCause(out, failure) {
47
+ out.state({ linePrefix: INNER_PREFIX }, () => {
48
+ dumpDetails(out, failure);
49
+ });
50
+ }
51
+ function dumpDetails(out, { message, actual, expected, stack, cause, errors, logs }) {
52
+ out("\n", import_tools.ansi.bright.red(message), "\n");
53
+ if (actual !== void 0 && expected !== void 0) {
54
+ out("\n");
55
+ out.state({ linePrefix: " " }, () => out((0, import_text_diff.TextDiff)(actual, expected)));
56
+ out("\n");
57
+ }
58
+ if (stack) {
59
+ out("\n");
60
+ out.state({ linePrefix: " " }, () => out(stack));
61
+ out("\n");
62
+ }
63
+ if (cause) {
64
+ out("\n", import_tools.ansi.bold("Caused by:"), "\n");
65
+ dumpCause(out, cause);
66
+ }
67
+ if (errors?.length) {
68
+ let num = 0;
69
+ for (const cause2 of errors) {
70
+ out("\n", import_tools.ansi.bold(`Cause #${++num}:`), "\n");
71
+ dumpCause(out, cause2);
72
+ }
73
+ }
74
+ if (logs) {
75
+ out("\n", logs, "\n");
76
+ }
77
+ }
78
+ //# 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,mBAAsC;AAEtC,uBAAyB;AARzB;AAAA;AAAA;AAAA;AAAA;AAUA,MAAM,eAAe,GAAG,kBAAK,GAAG,UAAK,kBAAK,IAAI,GAAG;AACjD,MAAM,eAAe,GAAG,kBAAK,GAAG,UAAK,kBAAK,IAAI,GAAG;AAE1C,IAAU;AAAA,CAAV,CAAUA,qBAAV;AACI,WAAS,OAAO,KAAc,SAAwB,OAAe;AACxE,QAAI,MAAM,EAAE,OAAO,kBAAK,MAAM,MAAM,GAAG,IAAI,GAAG,MAAM;AAChD,UAAI,oBAAO,MAAM,OAAO,OAAO,OAAO,oBAAO,MAAM,OAAO,MAAM,oBAAO,MAAM,OAAO,IAAI;AAAA,IAC5F,CAAC;AAED,QAAI,oBAAO,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,kBAAK,OAAO,IAAI,OAAO,GAAG,IAAI;AAExC,MAAI,WAAW,UAAa,aAAa,QAAW;AAChD,QAAI,IAAI;AACR,QAAI,MAAM,EAAE,YAAY,OAAO,GAAG,MAAM,QAAI,2BAAS,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,kBAAK,KAAK,YAAY,GAAG,IAAI;AACvC,cAAU,KAAK,KAAK;AAAA,EACxB;AAEA,MAAI,QAAQ,QAAQ;AAChB,QAAI,MAAM;AACV,eAAWC,UAAS,QAAQ;AACxB,UAAI,MAAM,kBAAK,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/cjs/mocha.js CHANGED
@@ -33,8 +33,9 @@ var import_failure_detail = require("./failure-detail.js");
33
33
  var import_boot = require("./mocks/boot.js");
34
34
  var import_logging = require("./mocks/logging.js");
35
35
  var import_options = require("./options.js");
36
- var import_reporter = require("./reporter.js");
36
+ var import_text_diff = require("./text-diff.js");
37
37
  var import_wtf = require("./util/wtf.js");
38
+ var import_web_reporter = require("./web-reporter.js");
38
39
  /**
39
40
  * @license
40
41
  * Copyright 2022-2025 Matter.js Authors
@@ -88,7 +89,7 @@ function generalSetup(mocha) {
88
89
  }
89
90
  return this.currentTest[afterOneHook]?.call(this, done);
90
91
  });
91
- import_failure_detail.FailureDetail.diff = Base.generateDiff.bind(Base);
92
+ import_text_diff.TextDiff.generator = Base.generateDiff.bind(Base);
92
93
  }
93
94
  function extendApi(Mocha2) {
94
95
  const descriptors = /* @__PURE__ */ new WeakMap();
@@ -223,7 +224,7 @@ function browserSetup(mocha) {
223
224
  // Start Mocha, proxying reporting through console to Playwright and completing once Mocha has finished
224
225
  auto: async function(options) {
225
226
  import_options.TestOptions.apply(mocha, options);
226
- mocha.reporter(adaptReporter(Mocha, "Web", new import_reporter.ConsoleProxyReporter()));
227
+ mocha.reporter(adaptReporter(Mocha, "Web", new import_web_reporter.WebReporter()));
227
228
  return new Promise((accept) => {
228
229
  const runner = this.start();
229
230
  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": "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",
5
5
  "names": ["Mocha", "logs"]
6
6
  }
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
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
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
19
  var logging_exports = {};
30
20
  __export(logging_exports, {
@@ -33,7 +23,7 @@ __export(logging_exports, {
33
23
  loggerSetup: () => loggerSetup
34
24
  });
35
25
  module.exports = __toCommonJS(logging_exports);
36
- var import_ansi_colors = __toESM(require("ansi-colors"), 1);
26
+ var import_ansi_text = require("#tools/ansi-text");
37
27
  /**
38
28
  * @license
39
29
  * Copyright 2022-2025 Matter.js Authors
@@ -44,7 +34,7 @@ const TheMockLogger = {
44
34
  injectExternalMessage: (source, text) => console.log(formatExternalMessage(source, text))
45
35
  };
46
36
  function formatExternalMessage(source, text) {
47
- return `${import_ansi_colors.default.bgCyan.black.bold(` ${source} `)} ${import_ansi_colors.default.dim(text)}`;
37
+ return `${import_ansi_text.Wrapper.prefixStart}${import_ansi_text.ansi.black.bg.cyan.bold(` ${source} `)} ${import_ansi_text.Wrapper.prefixStop}${import_ansi_text.ansi.dim(text)}`;
48
38
  }
49
39
  const LoggerHooks = {
50
40
  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;AAAA;AAAA;AAMA,yBAAmB;AANnB;AAAA;AAAA;AAAA;AAAA;AAkBO,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,mBAAAA,QAAO,OAAO,MAAM,KAAK,IAAI,MAAM,GAAG,CAAC,IAAI,mBAAAA,QAAO,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;",
5
- "names": ["colors"]
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,uBAA8B;AAN9B;AAAA;AAAA;AAAA;AAAA;AAkBO,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,yBAAQ,WAAW,GAAG,sBAAK,MAAM,GAAG,KAAK,KAAK,IAAI,MAAM,GAAG,CAAC,IAAI,yBAAQ,UAAU,GAAG,sBAAK,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
+ "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,123 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var nodejs_reporter_exports = {};
20
+ __export(nodejs_reporter_exports, {
21
+ NodejsReporter: () => NodejsReporter
22
+ });
23
+ module.exports = __toCommonJS(nodejs_reporter_exports);
24
+ var import_tools = require("#tools");
25
+ var import_failure_reporter = require("./failure-reporter.js");
26
+ /**
27
+ * @license
28
+ * Copyright 2022-2024 Matter.js Authors
29
+ * SPDX-License-Identifier: Apache-2.0
30
+ */
31
+ class NodejsReporter {
32
+ constructor(progress) {
33
+ this.progress = progress;
34
+ }
35
+ #run = "";
36
+ #suite = Array();
37
+ #test;
38
+ #step;
39
+ #stats;
40
+ #failures = Array();
41
+ #lastTitle;
42
+ beginRun(name, stats, supportsSuites = true) {
43
+ this.#run = name;
44
+ this.#suite = [];
45
+ this.#failures = [];
46
+ if (!supportsSuites) {
47
+ this.progress.update(this.#summarize(stats));
48
+ }
49
+ }
50
+ beginSuite(name) {
51
+ this.#suite = name;
52
+ }
53
+ beginTest(name, stats) {
54
+ this.#test = name;
55
+ this.#stats = stats;
56
+ this.#step = void 0;
57
+ const title = process.stdout.isTTY ? this.#formatName(this.#suite, name) : this.#suite[0];
58
+ this.#updateTitle(title);
59
+ }
60
+ beginStep(name) {
61
+ this.#step = name;
62
+ if (process.stdout.isTTY && this.#test) {
63
+ const title = this.#formatName(this.#suite, this.#test, name);
64
+ this.#updateTitle(title);
65
+ }
66
+ }
67
+ #updateTitle(title) {
68
+ if (title === this.#lastTitle) {
69
+ return;
70
+ }
71
+ this.#lastTitle = title;
72
+ this.progress.update(this.#summarize(this.#stats), title);
73
+ }
74
+ failTest(name, detail) {
75
+ this.#failures.push({
76
+ suite: this.#suite,
77
+ test: name,
78
+ step: this.#step,
79
+ detail
80
+ });
81
+ }
82
+ endRun(stats) {
83
+ if (this.#failures.length) {
84
+ this.progress.failure(this.#summarize(stats));
85
+ this.#dumpFailures();
86
+ } else if (stats && !stats.complete) {
87
+ this.progress.failure("No tests found");
88
+ } else {
89
+ this.progress.success(this.#summarize(stats));
90
+ }
91
+ }
92
+ #summarize(stats) {
93
+ let statStr;
94
+ if (stats) {
95
+ const complete = import_tools.ansi.dim(`${stats.complete}/${stats.total}`);
96
+ const failures = stats.failures ? import_tools.ansi.bright.red(` ${stats.failures.toString()} failed`) : "";
97
+ statStr = ` ${complete}${failures}`;
98
+ } else {
99
+ statStr = "";
100
+ }
101
+ return `${import_tools.ansi.bold(this.#run)}${statStr}`;
102
+ }
103
+ #dumpFailures() {
104
+ for (let i = 0; i < this.#failures.length; i++) {
105
+ if (i !== 0) {
106
+ import_tools.std.out("\n");
107
+ }
108
+ const failure = this.#failures[i];
109
+ const index = `Failure ${import_tools.ansi.bold((i + 1).toString())} of ${this.#failures.length}`;
110
+ const title = `${index} ${this.#formatName(failure.suite, failure.test, failure.step)}`;
111
+ import_failure_reporter.FailureReporter.report(import_tools.std.out, failure.detail, title);
112
+ }
113
+ }
114
+ #formatName(suite, test, step) {
115
+ const breadcrumb = [...suite, test];
116
+ if (step) {
117
+ breadcrumb.push(step);
118
+ }
119
+ breadcrumb[breadcrumb.length - 1] = import_tools.ansi.bold(breadcrumb[breadcrumb.length - 1]).toString();
120
+ return breadcrumb.join(" \u27A1 ");
121
+ }
122
+ }
123
+ //# sourceMappingURL=nodejs-reporter.js.map