Restrict refute_send_type
to check method call doesn't match with type
#588
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request adds a more strict check with
refute_send_type
.Problem
I think
refute_send_type
assertion isn't enough to check the type mismatch.Currently,
refute_send_type
checks that the method call raises an error, and the method call is matched with themethod_type
that is specified as an argument ofrefute_send_type
. But the RBS, which is exposed to the end-users, doesn't affectrefute_send_type
. So it checks nothing about the RBS, but it checks the implementation.I think
refute_send_type
should check the RBS, so the current behavior is not enough as a test assertion.Solution
Check that the RBS declines the method call.
ref: #586 (comment)