Skip to content

Commit 242ae75

Browse files
committed
fix: include test utility
1 parent 0061480 commit 242ae75

1 file changed

Lines changed: 43 additions & 0 deletions

File tree

test/counter.js

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import { Assertion, expect } from 'chai';
2+
3+
class Counter {
4+
constructor() {
5+
this.count = 0;
6+
}
7+
8+
increment() {
9+
this.count += 1;
10+
}
11+
12+
reset() {
13+
this.count = 0;
14+
}
15+
16+
assert(expected, message) {
17+
const count = this.count;
18+
this.reset();
19+
expect(count, message || `Expected ${expected} assertions, counted ${count}`)
20+
.to.equal(expected);
21+
}
22+
23+
assertPromised(expected, message) {
24+
const count = this.count;
25+
this.reset();
26+
return expect(count, message || `Expected ${expected} assertions, counted ${count}`)
27+
.to.eventually.equal(expected);
28+
}
29+
}
30+
31+
const counter = new Counter();
32+
33+
Assertion.addMethod('inc', () => counter.increment());
34+
35+
export function assert(expected = 0, message = '') {
36+
if (!Number.isFinite(expected) || expected < 0) return;
37+
counter.assert(expected, message);
38+
}
39+
40+
export function assertPromised(expected = 0, message = '') {
41+
if (!Number.isFinite(expected) || expected < 0) return Promise.resolve();
42+
return counter.assertPromised(expected, message);
43+
}

0 commit comments

Comments
 (0)