shard-spectator/spec/helpers/matchers_helper.cr
Michael Miller 33841e8888 Sub-type value modifier from MatchDataValue
This includes renaming the types.
2019-03-22 10:55:57 -06:00

16 lines
623 B
Crystal

# Retrieves a value from the `NamedTuple` returned by `Spectator::Matchers::MatchData#values`.
def match_data_value(match_data, key)
match_data.values.fetch(key) { raise "#{key} is missing" }
end
# Retrieves the string representation and base value
# from a `Spectator::Matchers::PrefixedMatchDataValue`
# in a `NamedTuple` returned by `Spectator::Matchers::MatchData#values`.
def match_data_prefix(match_data, key)
prefix = match_data.values.fetch(key) { raise "#{key} is missing" }
if prefix.responds_to?(:value)
{to_s: prefix.to_s, value: prefix.value}
else
{to_s: prefix.to_s, value: prefix}
end
end