File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 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+ }
You can’t perform that action at this time.
0 commit comments