Jasmine spy expects to be called with "Object(...)"
Prior to version 2, objects are equal if they have the same properties and values (see v1.3.1 code)
From version 2 onward, object constructors are also compared (see v2.0 code).
In your case: CustomCriteria
and {}
do not have the same constructor.
P.S.: The exception message also changed to contain the constructor name in it.