@matter/testing 0.16.0-alpha.0-20250817-1b000357c → 0.16.0-alpha.0-20250819-0a388db8b

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.
package/dist/cjs/chai.js CHANGED
@@ -59,6 +59,14 @@ import_chai.default.config.deepEqual = (expected, actual) => {
59
59
  case expect.BYTES:
60
60
  return actual2 instanceof Uint8Array;
61
61
  }
62
+ if (typeof actual2 === "object" && actual2?.constructor.name === "Interval" && "ms" in actual2) {
63
+ if (typeof expected2 === "number") {
64
+ return actual2.ms === expected2;
65
+ }
66
+ if (typeof expected2 === "object" && expected2 !== null && "ms" in expected2) {
67
+ return actual2.ms === expected2.ms;
68
+ }
69
+ }
62
70
  return null;
63
71
  }
64
72
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/chai.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAMA,kBAAiB;AACjB,gCAAO;AAPP;AAAA;AAAA;AAAA;AAAA;AAWA,YAAAA,QAAK,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,YAAAA,QAAK,OAAe,YAAY,CAAC,UAAmB,WAAoB;AACrE,SAAQ,YAAAA,QAAK,KAAa,IAAI,UAAU,QAAQ;AAAA,IAC5C,WAAWC,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;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAMA,kBAAiB;AACjB,gCAAO;AAPP;AAAA;AAAA;AAAA;AAAA;AAWA,YAAAA,QAAK,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,YAAAA,QAAK,OAAe,YAAY,CAAC,UAAmB,WAAoB;AACrE,SAAQ,YAAAA,QAAK,KAAa,IAAI,UAAU,QAAQ;AAAA,IAC5C,WAAWC,WAAmBC,SAAiB;AAE3C,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;AAGA,UAAI,OAAOA,YAAW,YAAYA,SAAQ,YAAY,SAAS,cAAc,QAAQA,SAAQ;AACzF,YAAI,OAAOD,cAAa,UAAU;AAC9B,iBAAOC,QAAO,OAAOD;AAAA,QACzB;AACA,YAAI,OAAOA,cAAa,YAAYA,cAAa,QAAQ,QAAQA,WAAU;AACvE,iBAAOC,QAAO,OAAOD,UAAS;AAAA,QAClC;AAAA,MACJ;AAEA,aAAO;AAAA,IACX;AAAA,EACJ,CAAC;AACL;",
5
5
  "names": ["Chai", "expected", "actual"]
6
6
  }
@@ -15,7 +15,7 @@ declare class MockTimer {
15
15
  isPeriodic: boolean;
16
16
  isRunning: boolean;
17
17
  private readonly callback;
18
- constructor(mockTime: MockTime, name: string, durationMs: number, callback: TimerCallback);
18
+ constructor(mockTime: MockTime, name: string, duration: number, callback: TimerCallback);
19
19
  start(): this;
20
20
  stop(): this;
21
21
  }
@@ -59,10 +59,10 @@ export declare const MockTime: {
59
59
  */
60
60
  macrotasks: boolean;
61
61
  atTime<T>(time: number | Date, actor: () => T): T;
62
- now(): Date;
63
- nowMs(): number;
64
- getTimer(name: string, durationMs: number, callback: TimerCallback): MockTimer;
65
- getPeriodicTimer(name: string, intervalMs: number, callback: TimerCallback): MockTimer;
62
+ readonly now: Date;
63
+ readonly nowMs: number;
64
+ getTimer(name: string, duration: number, callback: TimerCallback): MockTimer;
65
+ getPeriodicTimer(name: string, interval: number, callback: TimerCallback): MockTimer;
66
66
  /**
67
67
  * Resolve a promise with time dependency.
68
68
  *
@@ -109,7 +109,7 @@ export declare function timeSetup(Time: {
109
109
  systemMs: number;
110
110
  processMs: number;
111
111
  };
112
- get(): unknown;
112
+ default: unknown;
113
113
  register(timer: MockTimer): void;
114
114
  unregister(timer: MockTimer): void;
115
115
  timers: Set<MockTimer>;
@@ -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;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;qCAWnB,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,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa;IAgBvF,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;kBAoBtC,IAAI;;mBAQA,MAAM,YAAY,MAAM,YAAY,aAAa,GAAG,SAAS;2BAIrD,MAAM,YAAY,MAAM,YAAY,aAAa,GAAG,SAAS;IAIpF;;;;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;qCAWnB,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,OAAO,EAAE,OAAO,CAAC;IACjB,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"}
@@ -41,13 +41,13 @@ class MockTimer {
41
41
  intervalMs = 0;
42
42
  isPeriodic = false;
43
43
  #mockTime;
44
- #durationMs;
44
+ #duration;
45
45
  isRunning = false;
46
46
  callback;
47
- constructor(mockTime, name, durationMs, callback) {
47
+ constructor(mockTime, name, duration, callback) {
48
48
  this.name = name;
49
49
  this.#mockTime = mockTime;
50
- this.#durationMs = durationMs;
50
+ this.#duration = duration;
51
51
  if (this instanceof MockInterval) {
52
52
  this.callback = callback;
53
53
  } else {
@@ -59,7 +59,7 @@ class MockTimer {
59
59
  }
60
60
  start() {
61
61
  registry.register(this);
62
- this.#mockTime.callbackAtTime(this.#mockTime.nowMs() + this.#durationMs, this.callback);
62
+ this.#mockTime.callbackAtTime(this.#mockTime.nowMs + this.#duration, this.callback);
63
63
  this.isRunning = true;
64
64
  return this;
65
65
  }
@@ -71,12 +71,12 @@ class MockTimer {
71
71
  }
72
72
  }
73
73
  class MockInterval extends MockTimer {
74
- constructor(mockTime, name, durationMs, callback) {
74
+ constructor(mockTime, name, duration, callback) {
75
75
  const intervalCallback = async () => {
76
- mockTime.callbackAtTime(mockTime.nowMs() + durationMs, intervalCallback);
76
+ mockTime.callbackAtTime(mockTime.nowMs + duration, intervalCallback);
77
77
  await callback();
78
78
  };
79
- super(mockTime, name, durationMs, intervalCallback);
79
+ super(mockTime, name, duration, intervalCallback);
80
80
  }
81
81
  }
82
82
  function isAsync(fn) {
@@ -152,17 +152,17 @@ const MockTime = {
152
152
  }
153
153
  }
154
154
  },
155
- now() {
155
+ get now() {
156
156
  return new Date(nowMs);
157
157
  },
158
- nowMs() {
158
+ get nowMs() {
159
159
  return nowMs;
160
160
  },
161
- getTimer(name, durationMs, callback) {
162
- return new MockTimer(this, name, durationMs, callback);
161
+ getTimer(name, duration, callback) {
162
+ return new MockTimer(this, name, duration, callback);
163
163
  },
164
- getPeriodicTimer(name, intervalMs, callback) {
165
- return new MockInterval(this, name, intervalMs, callback);
164
+ getPeriodicTimer(name, interval, callback) {
165
+ return new MockInterval(this, name, interval, callback);
166
166
  },
167
167
  /**
168
168
  * Resolve a promise with time dependency.
@@ -320,9 +320,9 @@ function timeSetup(Time) {
320
320
  registry.unregister = Time.unregister;
321
321
  registry.timers = Time.timers;
322
322
  Time.startup.systemMs = Time.startup.processMs = 0;
323
- real = Time.get();
323
+ real = Time.default;
324
324
  MockTime.sleep = real.sleep;
325
- installActiveImplementation = () => Time.get = () => MockTime.activeImplementation;
325
+ installActiveImplementation = () => Time.default = MockTime.activeImplementation;
326
326
  installActiveImplementation();
327
327
  }
328
328
  Object.assign(globalThis, { MockTime });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/mocks/time.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["isAsync"]
6
6
  }
package/dist/esm/chai.js CHANGED
@@ -33,6 +33,14 @@ Chai.config.deepEqual = (expected, actual) => {
33
33
  case expect.BYTES:
34
34
  return actual2 instanceof Uint8Array;
35
35
  }
36
+ if (typeof actual2 === "object" && actual2?.constructor.name === "Interval" && "ms" in actual2) {
37
+ if (typeof expected2 === "number") {
38
+ return actual2.ms === expected2;
39
+ }
40
+ if (typeof expected2 === "object" && expected2 !== null && "ms" in expected2) {
41
+ return actual2.ms === expected2.ms;
42
+ }
43
+ }
36
44
  return null;
37
45
  }
38
46
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
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;",
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;AAE3C,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;AAGA,UAAI,OAAOA,YAAW,YAAYA,SAAQ,YAAY,SAAS,cAAc,QAAQA,SAAQ;AACzF,YAAI,OAAOD,cAAa,UAAU;AAC9B,iBAAOC,QAAO,OAAOD;AAAA,QACzB;AACA,YAAI,OAAOA,cAAa,YAAYA,cAAa,QAAQ,QAAQA,WAAU;AACvE,iBAAOC,QAAO,OAAOD,UAAS;AAAA,QAClC;AAAA,MACJ;AAEA,aAAO;AAAA,IACX;AAAA,EACJ,CAAC;AACL;",
5
5
  "names": ["expected", "actual"]
6
6
  }
@@ -15,7 +15,7 @@ declare class MockTimer {
15
15
  isPeriodic: boolean;
16
16
  isRunning: boolean;
17
17
  private readonly callback;
18
- constructor(mockTime: MockTime, name: string, durationMs: number, callback: TimerCallback);
18
+ constructor(mockTime: MockTime, name: string, duration: number, callback: TimerCallback);
19
19
  start(): this;
20
20
  stop(): this;
21
21
  }
@@ -59,10 +59,10 @@ export declare const MockTime: {
59
59
  */
60
60
  macrotasks: boolean;
61
61
  atTime<T>(time: number | Date, actor: () => T): T;
62
- now(): Date;
63
- nowMs(): number;
64
- getTimer(name: string, durationMs: number, callback: TimerCallback): MockTimer;
65
- getPeriodicTimer(name: string, intervalMs: number, callback: TimerCallback): MockTimer;
62
+ readonly now: Date;
63
+ readonly nowMs: number;
64
+ getTimer(name: string, duration: number, callback: TimerCallback): MockTimer;
65
+ getPeriodicTimer(name: string, interval: number, callback: TimerCallback): MockTimer;
66
66
  /**
67
67
  * Resolve a promise with time dependency.
68
68
  *
@@ -109,7 +109,7 @@ export declare function timeSetup(Time: {
109
109
  systemMs: number;
110
110
  processMs: number;
111
111
  };
112
- get(): unknown;
112
+ default: unknown;
113
113
  register(timer: MockTimer): void;
114
114
  unregister(timer: MockTimer): void;
115
115
  timers: Set<MockTimer>;
@@ -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;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;qCAWnB,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,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa;IAgBvF,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;kBAoBtC,IAAI;;mBAQA,MAAM,YAAY,MAAM,YAAY,aAAa,GAAG,SAAS;2BAIrD,MAAM,YAAY,MAAM,YAAY,aAAa,GAAG,SAAS;IAIpF;;;;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;qCAWnB,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,OAAO,EAAE,OAAO,CAAC;IACjB,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"}
@@ -17,13 +17,13 @@ class MockTimer {
17
17
  intervalMs = 0;
18
18
  isPeriodic = false;
19
19
  #mockTime;
20
- #durationMs;
20
+ #duration;
21
21
  isRunning = false;
22
22
  callback;
23
- constructor(mockTime, name, durationMs, callback) {
23
+ constructor(mockTime, name, duration, callback) {
24
24
  this.name = name;
25
25
  this.#mockTime = mockTime;
26
- this.#durationMs = durationMs;
26
+ this.#duration = duration;
27
27
  if (this instanceof MockInterval) {
28
28
  this.callback = callback;
29
29
  } else {
@@ -35,7 +35,7 @@ class MockTimer {
35
35
  }
36
36
  start() {
37
37
  registry.register(this);
38
- this.#mockTime.callbackAtTime(this.#mockTime.nowMs() + this.#durationMs, this.callback);
38
+ this.#mockTime.callbackAtTime(this.#mockTime.nowMs + this.#duration, this.callback);
39
39
  this.isRunning = true;
40
40
  return this;
41
41
  }
@@ -47,12 +47,12 @@ class MockTimer {
47
47
  }
48
48
  }
49
49
  class MockInterval extends MockTimer {
50
- constructor(mockTime, name, durationMs, callback) {
50
+ constructor(mockTime, name, duration, callback) {
51
51
  const intervalCallback = async () => {
52
- mockTime.callbackAtTime(mockTime.nowMs() + durationMs, intervalCallback);
52
+ mockTime.callbackAtTime(mockTime.nowMs + duration, intervalCallback);
53
53
  await callback();
54
54
  };
55
- super(mockTime, name, durationMs, intervalCallback);
55
+ super(mockTime, name, duration, intervalCallback);
56
56
  }
57
57
  }
58
58
  function isAsync(fn) {
@@ -128,17 +128,17 @@ const MockTime = {
128
128
  }
129
129
  }
130
130
  },
131
- now() {
131
+ get now() {
132
132
  return new Date(nowMs);
133
133
  },
134
- nowMs() {
134
+ get nowMs() {
135
135
  return nowMs;
136
136
  },
137
- getTimer(name, durationMs, callback) {
138
- return new MockTimer(this, name, durationMs, callback);
137
+ getTimer(name, duration, callback) {
138
+ return new MockTimer(this, name, duration, callback);
139
139
  },
140
- getPeriodicTimer(name, intervalMs, callback) {
141
- return new MockInterval(this, name, intervalMs, callback);
140
+ getPeriodicTimer(name, interval, callback) {
141
+ return new MockInterval(this, name, interval, callback);
142
142
  },
143
143
  /**
144
144
  * Resolve a promise with time dependency.
@@ -296,9 +296,9 @@ function timeSetup(Time) {
296
296
  registry.unregister = Time.unregister;
297
297
  registry.timers = Time.timers;
298
298
  Time.startup.systemMs = Time.startup.processMs = 0;
299
- real = Time.get();
299
+ real = Time.default;
300
300
  MockTime.sleep = real.sleep;
301
- installActiveImplementation = () => Time.get = () => MockTime.activeImplementation;
301
+ installActiveImplementation = () => Time.default = MockTime.activeImplementation;
302
302
  installActiveImplementation();
303
303
  }
304
304
  Object.assign(globalThis, { MockTime });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/mocks/time.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["isAsync"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/testing",
3
- "version": "0.16.0-alpha.0-20250817-1b000357c",
3
+ "version": "0.16.0-alpha.0-20250819-0a388db8b",
4
4
  "description": "Test harness for running JavaScript and Matter certification tests",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -45,7 +45,7 @@
45
45
  "#tools/ansi-text": "@matter/tools/ansi-text"
46
46
  },
47
47
  "dependencies": {
48
- "@matter/tools": "0.16.0-alpha.0-20250817-1b000357c",
48
+ "@matter/tools": "0.16.0-alpha.0-20250819-0a388db8b",
49
49
  "@types/express": "^5.0.3",
50
50
  "ansi-colors": "^4.1.3",
51
51
  "chai": "^4.5.0",
@@ -68,8 +68,8 @@
68
68
  "@types/debug": "^4.1.12",
69
69
  "@types/mocha": "^10.0.10",
70
70
  "@types/docker-modem": "^3.0.6",
71
- "@types/node": "^24.2.1",
72
- "@types/wtfnode": "^0.7.3",
71
+ "@types/node": "^24.3.0",
72
+ "@types/wtfnode": "^0.10.0",
73
73
  "@types/xml2js": "^0.4.14",
74
74
  "@types/yargs": "^17.0.33"
75
75
  },
package/src/chai.ts CHANGED
@@ -28,6 +28,7 @@ expect.STRING = createDiffMarker("string");
28
28
  (Chai.config as any).deepEqual = (expected: unknown, actual: unknown) => {
29
29
  return (Chai.util as any).eql(expected, actual, {
30
30
  comparator(expected: unknown, actual: unknown) {
31
+ // Handle special "type-only" checks
31
32
  switch (expected) {
32
33
  case expect.IGNORE:
33
34
  return true;
@@ -44,6 +45,17 @@ expect.STRING = createDiffMarker("string");
44
45
  case expect.BYTES:
45
46
  return actual instanceof Uint8Array;
46
47
  }
48
+
49
+ // Specialized support for intervals
50
+ if (typeof actual === "object" && actual?.constructor.name === "Interval" && "ms" in actual) {
51
+ if (typeof expected === "number") {
52
+ return actual.ms === expected;
53
+ }
54
+ if (typeof expected === "object" && expected !== null && "ms" in expected) {
55
+ return actual.ms === expected.ms;
56
+ }
57
+ }
58
+
47
59
  return null;
48
60
  },
49
61
  });
package/src/mocks/time.ts CHANGED
@@ -25,16 +25,16 @@ class MockTimer {
25
25
  isPeriodic = false;
26
26
 
27
27
  #mockTime: MockTime;
28
- #durationMs: number;
28
+ #duration: number;
29
29
 
30
30
  isRunning = false;
31
31
  private readonly callback: TimerCallback;
32
32
 
33
- constructor(mockTime: MockTime, name: string, durationMs: number, callback: TimerCallback) {
33
+ constructor(mockTime: MockTime, name: string, duration: number, callback: TimerCallback) {
34
34
  this.name = name;
35
35
 
36
36
  this.#mockTime = mockTime;
37
- this.#durationMs = durationMs;
37
+ this.#duration = duration;
38
38
 
39
39
  if (this instanceof MockInterval) {
40
40
  this.callback = callback;
@@ -48,7 +48,7 @@ class MockTimer {
48
48
 
49
49
  start() {
50
50
  registry.register(this);
51
- this.#mockTime.callbackAtTime(this.#mockTime.nowMs() + this.#durationMs, this.callback);
51
+ this.#mockTime.callbackAtTime(this.#mockTime.nowMs + this.#duration, this.callback);
52
52
  this.isRunning = true;
53
53
  return this;
54
54
  }
@@ -62,12 +62,12 @@ class MockTimer {
62
62
  }
63
63
 
64
64
  class MockInterval extends MockTimer {
65
- constructor(mockTime: MockTime, name: string, durationMs: number, callback: TimerCallback) {
65
+ constructor(mockTime: MockTime, name: string, duration: number, callback: TimerCallback) {
66
66
  const intervalCallback = async () => {
67
- mockTime.callbackAtTime(mockTime.nowMs() + durationMs, intervalCallback);
67
+ mockTime.callbackAtTime(mockTime.nowMs + duration, intervalCallback);
68
68
  await callback();
69
69
  };
70
- super(mockTime, name, durationMs, intervalCallback);
70
+ super(mockTime, name, duration, intervalCallback);
71
71
  }
72
72
  }
73
73
 
@@ -165,20 +165,20 @@ export const MockTime = {
165
165
  }
166
166
  },
167
167
 
168
- now(): Date {
168
+ get now(): Date {
169
169
  return new Date(nowMs);
170
170
  },
171
171
 
172
- nowMs() {
172
+ get nowMs() {
173
173
  return nowMs;
174
174
  },
175
175
 
176
- getTimer(name: string, durationMs: number, callback: TimerCallback): MockTimer {
177
- return new MockTimer(this, name, durationMs, callback);
176
+ getTimer(name: string, duration: number, callback: TimerCallback): MockTimer {
177
+ return new MockTimer(this, name, duration, callback);
178
178
  },
179
179
 
180
- getPeriodicTimer(name: string, intervalMs: number, callback: TimerCallback): MockTimer {
181
- return new MockInterval(this, name, intervalMs, callback);
180
+ getPeriodicTimer(name: string, interval: number, callback: TimerCallback): MockTimer {
181
+ return new MockInterval(this, name, interval, callback);
182
182
  },
183
183
 
184
184
  /**
@@ -373,7 +373,7 @@ let installActiveImplementation: undefined | (() => void);
373
373
 
374
374
  export function timeSetup(Time: {
375
375
  startup: { systemMs: number; processMs: number };
376
- get(): unknown;
376
+ default: unknown;
377
377
  register(timer: MockTimer): void;
378
378
  unregister(timer: MockTimer): void;
379
379
  timers: Set<MockTimer>;
@@ -382,9 +382,9 @@ export function timeSetup(Time: {
382
382
  registry.unregister = Time.unregister;
383
383
  registry.timers = Time.timers;
384
384
  Time.startup.systemMs = Time.startup.processMs = 0;
385
- real = Time.get();
385
+ real = Time.default;
386
386
  (MockTime as any).sleep = (real as any).sleep;
387
- installActiveImplementation = () => (Time.get = () => MockTime.activeImplementation);
387
+ installActiveImplementation = () => (Time.default = MockTime.activeImplementation);
388
388
  installActiveImplementation();
389
389
  }
390
390
 
@@ -11,7 +11,7 @@ describe("MockTime", () => {
11
11
 
12
12
  describe("now", () => {
13
13
  it("returns the fake date", () => {
14
- const result = MockTime.now();
14
+ const result = MockTime.now;
15
15
 
16
16
  expect(result.getTime()).equal(FAKE_TIME);
17
17
  });
@@ -19,7 +19,7 @@ describe("MockTime", () => {
19
19
 
20
20
  describe("nowMs", () => {
21
21
  it("returns the fake time", () => {
22
- const result = MockTime.nowMs();
22
+ const result = MockTime.nowMs;
23
23
 
24
24
  expect(result).equal(FAKE_TIME);
25
25
  });
@@ -29,7 +29,7 @@ describe("MockTime", () => {
29
29
  it("advances the time by the duration specified", async () => {
30
30
  await MockTime.advance(45);
31
31
 
32
- expect(MockTime.nowMs()).equal(FAKE_TIME + 45);
32
+ expect(MockTime.nowMs).equal(FAKE_TIME + 45);
33
33
  });
34
34
  });
35
35
 
@@ -37,7 +37,7 @@ describe("MockTime", () => {
37
37
  it("returns a periodic timer that will call a callback periodically", async () => {
38
38
  let firedTime;
39
39
 
40
- const result = MockTime.getPeriodicTimer("Test periodic", 30, () => (firedTime = MockTime.nowMs()));
40
+ const result = MockTime.getPeriodicTimer("Test periodic", 30, () => (firedTime = MockTime.nowMs));
41
41
  expect(result.isRunning).equal(false);
42
42
 
43
43
  result.start();
@@ -62,7 +62,7 @@ describe("MockTime", () => {
62
62
  it("returns a periodic timer that can be stopped", async () => {
63
63
  let firedTime;
64
64
 
65
- const result = MockTime.getPeriodicTimer("Test periodic", 30, () => (firedTime = MockTime.nowMs()));
65
+ const result = MockTime.getPeriodicTimer("Test periodic", 30, () => (firedTime = MockTime.nowMs));
66
66
  result.start();
67
67
  result.stop();
68
68
 
@@ -79,7 +79,7 @@ describe("MockTime", () => {
79
79
  it("returns a timer that will call a callback in the future", async () => {
80
80
  let firedTime;
81
81
 
82
- const result = MockTime.getTimer("Test", 30, () => (firedTime = MockTime.nowMs()));
82
+ const result = MockTime.getTimer("Test", 30, () => (firedTime = MockTime.nowMs));
83
83
  expect(result.isRunning).equal(false);
84
84
  result.start();
85
85
  expect(result.isRunning).equal(true);
@@ -95,7 +95,7 @@ describe("MockTime", () => {
95
95
  it("returns a timer that can be stopped", async () => {
96
96
  let firedTime;
97
97
 
98
- const result = MockTime.getTimer("Test", 30, () => (firedTime = MockTime.nowMs()));
98
+ const result = MockTime.getTimer("Test", 30, () => (firedTime = MockTime.nowMs));
99
99
  expect(result.isRunning).equal(false);
100
100
  result.start();
101
101
  expect(result.isRunning).equal(true);