@@ -45,6 +45,48 @@ import assert = require("node:assert");
4545 }
4646}
4747
48+ {
49+ const tracker = new assert . CallTracker ( ) ;
50+
51+ let exact : number | undefined ;
52+
53+ // $ExpectType () => void
54+ tracker . calls ( ) ;
55+ // $ExpectType () => void
56+ tracker . calls ( 7 ) ;
57+ // $ExpectType () => void
58+ tracker . calls ( exact ) ;
59+
60+ // $ExpectType () => void
61+ tracker . calls ( undefined ) ;
62+ // $ExpectType () => void
63+ tracker . calls ( undefined , undefined ) ;
64+ // $ExpectType () => void
65+ tracker . calls ( undefined , 7 ) ;
66+ // $ExpectType () => void
67+ tracker . calls ( undefined , exact ) ;
68+
69+ let f1 : ( a : number ) => number = ( ) => 3 ;
70+ // $ExpectType (a: number) => number
71+ tracker . calls ( f1 ) ;
72+ // $ExpectType (a: number) => number
73+ tracker . calls ( f1 , undefined ) ;
74+ // $ExpectType (a: number) => number
75+ tracker . calls ( f1 , 42 ) ;
76+ // $ExpectType (a: number) => number
77+ tracker . calls ( f1 , exact ) ;
78+
79+ let f2 : ( ( a : number ) => number ) | undefined ;
80+ // $ExpectType ((a: number) => number) | (() => void)
81+ tracker . calls ( f2 ) ;
82+ // $ExpectType ((a: number) => number) | (() => void)
83+ tracker . calls ( f2 , undefined ) ;
84+ // $ExpectType ((a: number) => number) | (() => void)
85+ tracker . calls ( f2 , 42 ) ;
86+ // $ExpectType ((a: number) => number) | (() => void)
87+ tracker . calls ( f2 , exact ) ;
88+ }
89+
4890assert ( 1 + 1 - 2 === 0 , "The universe isn't how it should." ) ;
4991
5092assert . deepEqual ( { x : { y : 3 } } , { x : { y : 3 } } , "DEEP WENT DERP" ) ;
0 commit comments