1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
require File.expand_path('../../../test_helper', __FILE__)
require 'mocha/parameter_matchers/regexp_matches'
require 'mocha/inspect'
class RegexpMatchesTest < Mocha::TestCase
include Mocha::ParameterMatchers
def test_should_match_parameter_matching_regular_expression
matcher = regexp_matches(/oo/)
assert matcher.matches?(['foo'])
end
def test_should_not_match_parameter_not_matching_regular_expression
matcher = regexp_matches(/oo/)
assert !matcher.matches?(['bar'])
end
def test_should_describe_matcher
matcher = regexp_matches(/oo/)
assert_equal 'regexp_matches(/oo/)', matcher.mocha_inspect
end
def test_should_not_raise_error_on_empty_arguments
matcher = regexp_matches(/oo/)
assert_nothing_raised { matcher.matches?([]) }
end
def test_should_not_match_on_empty_arguments
matcher = regexp_matches(/oo/)
assert !matcher.matches?([])
end
def test_should_not_raise_error_on_argument_that_does_not_respond_to_equals_tilde
matcher = regexp_matches(/oo/)
assert_nothing_raised { matcher.matches?([object_not_responding_to_equals_tilde]) }
end
def test_should_not_match_on_argument_that_does_not_respond_to_equals_tilde
matcher = regexp_matches(/oo/)
assert !matcher.matches?([object_not_responding_to_equals_tilde])
end
private
def object_not_responding_to_equals_tilde
Class.new { undef =~ if respond_to?(:=~) }.new
end
end
|