From 569faa0a2b225d57dfdff1f32488f20643529848 Mon Sep 17 00:00:00 2001 From: Michael Miller Date: Fri, 9 Aug 2019 00:42:39 -0600 Subject: [PATCH] Various other fixes --- src/spectator/matchers/have_matcher.cr | 16 +++++++--------- src/spectator/matchers/standard_matcher.cr | 4 ++-- src/spectator/matchers/start_with_matcher.cr | 2 -- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/spectator/matchers/have_matcher.cr b/src/spectator/matchers/have_matcher.cr index f8cd097..31405d1 100644 --- a/src/spectator/matchers/have_matcher.cr +++ b/src/spectator/matchers/have_matcher.cr @@ -6,27 +6,25 @@ module Spectator::Matchers # Otherwise, it expects an `Enumerable` and iterates over each item until === is true. struct HaveMatcher(ExpectedType) < ValueMatcher(ExpectedType) private def match?(actual) - actual_value = actual.value - if actual_value.is_a?(String) - match_string(actual_value) + if (value = actual.value).is_a?(String) + match_string?(value) else - match_enumerable(actual_value) + match_enumerable?(value) end end # Checks if a `String` matches the expected values. # The `includes?` method is used for this check. - private def match_string?(actual_value) + private def match_string?(value) expected.value.all? do |item| - actual_value.includes?(item) - actual_value.includes?(item) if item.is_a?(Char | String) + value.includes?(item) if item.is_a?(Char | String) end end # Checks if an `Enumerable` matches the expected values. # The `===` operator is used on every item. - private def match_enumerable?(actual_value) - array = actual_value.to_a + private def match_enumerable?(value) + array = value.to_a expected.value.all? do |item| array.any? do |element| item === element diff --git a/src/spectator/matchers/standard_matcher.cr b/src/spectator/matchers/standard_matcher.cr index 63ba640..f33d910 100644 --- a/src/spectator/matchers/standard_matcher.cr +++ b/src/spectator/matchers/standard_matcher.cr @@ -44,7 +44,7 @@ module Spectator::Matchers if match?(actual) SuccessfulMatchData.new else - FailedMatchData.new(failure_message(actual), values(actual)) + FailedMatchData.new(failure_message(actual), **values(actual)) end end @@ -52,7 +52,7 @@ module Spectator::Matchers if does_not_match?(actual) SuccessfulMatchData.new else - FailedMatchData.new(failure_message_when_negated(actual), negated_values(actual)) + FailedMatchData.new(failure_message_when_negated(actual), **negated_values(actual)) end end end diff --git a/src/spectator/matchers/start_with_matcher.cr b/src/spectator/matchers/start_with_matcher.cr index 5e0a16a..754944f 100644 --- a/src/spectator/matchers/start_with_matcher.cr +++ b/src/spectator/matchers/start_with_matcher.cr @@ -33,8 +33,6 @@ module Spectator::Matchers end end - private def match_last(actual) - list = actual.value.to_a private def match_first(value, actual) first = list.first