You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Allow positional arguments to be defined with keyword arguments. Currently, keyword arguments are treated separately from positional arguments.
classOriginaldeffoo(arg1, arg2)
# ...endend
mock Original
let(fake) { mock(Original) }
specify do
expect(fake).to receive(:foo).with("arg1", arg2:"arg2")
fake.foo("arg1", "arg2")
end
The expectation fails because it recorded the call #foo("arg1", "arg2") and not #foo("arg1", arg2: "arg2"). The two calls are technically the same to Crystal, but Spectator treats them differently.
The text was updated successfully, but these errors were encountered:
Code changes for #47 caused a drastic increase in compilation times.
This improves compilation times by splitting concerns for arguments.
In one case, arguments are used for matching.
In the other, arguments are captured for comparison.
The second case has been moved to a FormalArguments class.
Theoretically, this reduces the complexity and combinations the compiler might be iterating.
Allow positional arguments to be defined with keyword arguments. Currently, keyword arguments are treated separately from positional arguments.
The expectation fails because it recorded the call
#foo("arg1", "arg2")
and not#foo("arg1", arg2: "arg2")
. The two calls are technically the same to Crystal, but Spectator treats them differently.The text was updated successfully, but these errors were encountered: