Fix for issue #4

This commit is contained in:
Michael Miller 2019-05-08 15:18:56 -06:00
parent e5ad6fc514
commit 6d81e26298
2 changed files with 6 additions and 1 deletions

View File

@ -517,7 +517,7 @@ module Spectator::DSL
# expect { raise ArgumentError.new("foobar") }.to raise_error(ArgumentError, "foobar")
# ```
macro raise_error(type, message)
::Spectator::Matchers::ExceptionMatcher.new({{type}}, {{message}}, {{message.stringify}})
::Spectator::Matchers::ExceptionMatcher.create({{type}}, {{message}}, {{message.stringify}})
end
# Indicates that some block should raise an error.

View File

@ -57,6 +57,11 @@ module Spectator::Matchers
ExceptionMatcher(Exception, typeof(expected)).new(expected, label)
end
# Creates a new exception matcher with a type and message check.
def self.create(exception_type : T.class, expected, label : String) forall T
ExceptionMatcher(T, typeof(expected)).new(expected, label)
end
# Match data specific to this matcher.
private struct MatchData(ExceptionType, ExpectedType, ActualType) < MatchData
# Creates the match data.