Sha256: cd0d85d6cc9ec08c880a76b883037c0437a85c4cc049b78cfa43dcfcb450d513
Contents?: true
Size: 971 Bytes
Versions: 61
Compression:
Stored size: 971 Bytes
Contents
require 'mocha/inspect' require 'mocha/parameter_matchers' module Mocha class ParametersMatcher def initialize(expected_parameters = [ParameterMatchers::AnyParameters.new], &matching_block) @expected_parameters, @matching_block = expected_parameters, matching_block end def match?(actual_parameters = []) if @matching_block return @matching_block.call(*actual_parameters) else return parameters_match?(actual_parameters) end end def parameters_match?(actual_parameters) matchers.all? { |matcher| matcher.matches?(actual_parameters) } && (actual_parameters.length == 0) end def mocha_inspect signature = matchers.mocha_inspect signature = signature.gsub(/^\[|\]$/, '') signature = signature.gsub(/^\{|\}$/, '') if matchers.length == 1 "(#{signature})" end def matchers @expected_parameters.map { |parameter| parameter.to_matcher } end end end
Version data entries
61 entries across 50 versions & 5 rubygems