mocha 0.5.4 → 0.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/RELEASE +5 -0
- data/Rakefile +1 -1
- data/lib/mocha/parameter_matchers/regexp_matches.rb +40 -0
- data/test/acceptance/parameter_matcher_acceptance_test.rb +18 -0
- data/test/unit/parameter_matchers/{matches_test.rb → regexp_matches_test.rb} +5 -5
- metadata +4 -4
- data/lib/mocha/parameter_matchers/matches.rb +0 -39
data/RELEASE
CHANGED
data/Rakefile
CHANGED
@@ -0,0 +1,40 @@
|
|
1
|
+
module Mocha
|
2
|
+
|
3
|
+
module ParameterMatchers
|
4
|
+
|
5
|
+
# :call-seq: regexp_matches(regexp) -> parameter_matcher
|
6
|
+
#
|
7
|
+
# Matches any object that matches the regular expression, +regexp+.
|
8
|
+
# object = mock()
|
9
|
+
# object.expects(:method_1).with(regexp_matches(/e/))
|
10
|
+
# object.method_1('hello')
|
11
|
+
# # no error raised
|
12
|
+
#
|
13
|
+
# object = mock()
|
14
|
+
# object.expects(:method_1).with(regexp_matches(/a/))
|
15
|
+
# object.method_1('hello')
|
16
|
+
# # error raised, because method_1 was not called with a parameter that matched the
|
17
|
+
# # regular expression
|
18
|
+
def regexp_matches(regexp)
|
19
|
+
RegexpMatches.new(regexp)
|
20
|
+
end
|
21
|
+
|
22
|
+
class RegexpMatches # :nodoc:
|
23
|
+
|
24
|
+
def initialize(regexp)
|
25
|
+
@regexp = regexp
|
26
|
+
end
|
27
|
+
|
28
|
+
def ==(parameter)
|
29
|
+
parameter =~ @regexp
|
30
|
+
end
|
31
|
+
|
32
|
+
def mocha_inspect
|
33
|
+
"regexp_matches(#{@regexp.mocha_inspect})"
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
@@ -60,4 +60,22 @@ class ParameterMatcherAcceptanceTest < Test::Unit::TestCase
|
|
60
60
|
assert_failed(test_result)
|
61
61
|
end
|
62
62
|
|
63
|
+
def test_should_match_parameter_that_matches_regular_expression
|
64
|
+
test_result = run_test do
|
65
|
+
mock = mock()
|
66
|
+
mock.expects(:method).with(regexp_matches(/meter/))
|
67
|
+
mock.method('this parameter should match')
|
68
|
+
end
|
69
|
+
assert_passed(test_result)
|
70
|
+
end
|
71
|
+
|
72
|
+
def test_should_not_match_parameter_that_does_not_match_regular_expression
|
73
|
+
test_result = run_test do
|
74
|
+
mock = mock()
|
75
|
+
mock.expects(:method).with(regexp_matches(/something different/))
|
76
|
+
mock.method('this parameter should not match')
|
77
|
+
end
|
78
|
+
assert_failed(test_result)
|
79
|
+
end
|
80
|
+
|
63
81
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.join(File.dirname(__FILE__), "..", "..", "test_helper")
|
2
2
|
|
3
|
-
require 'mocha/parameter_matchers/
|
3
|
+
require 'mocha/parameter_matchers/regexp_matches'
|
4
4
|
require 'mocha/inspect'
|
5
5
|
|
6
6
|
class MatchesTest < Test::Unit::TestCase
|
@@ -8,18 +8,18 @@ class MatchesTest < Test::Unit::TestCase
|
|
8
8
|
include Mocha::ParameterMatchers
|
9
9
|
|
10
10
|
def test_should_match_parameter_matching_regular_expression
|
11
|
-
matcher =
|
11
|
+
matcher = regexp_matches(/oo/)
|
12
12
|
assert matcher == 'foo'
|
13
13
|
end
|
14
14
|
|
15
15
|
def test_should_not_match_parameter_not_matching_regular_expression
|
16
|
-
matcher =
|
16
|
+
matcher = regexp_matches(/oo/)
|
17
17
|
assert matcher != 'bar'
|
18
18
|
end
|
19
19
|
|
20
20
|
def test_should_describe_matcher
|
21
|
-
matcher =
|
22
|
-
assert_equal "
|
21
|
+
matcher = regexp_matches(/oo/)
|
22
|
+
assert_equal "regexp_matches(/oo/)", matcher.mocha_inspect
|
23
23
|
end
|
24
24
|
|
25
25
|
end
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.2
|
|
3
3
|
specification_version: 1
|
4
4
|
name: mocha
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.5.
|
7
|
-
date: 2007-
|
6
|
+
version: 0.5.5
|
7
|
+
date: 2007-09-06 00:00:00 +01:00
|
8
8
|
summary: Mocking and stubbing library
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -57,7 +57,7 @@ files:
|
|
57
57
|
- lib/mocha/parameter_matchers/includes.rb
|
58
58
|
- lib/mocha/parameter_matchers/instance_of.rb
|
59
59
|
- lib/mocha/parameter_matchers/kind_of.rb
|
60
|
-
- lib/mocha/parameter_matchers/
|
60
|
+
- lib/mocha/parameter_matchers/regexp_matches.rb
|
61
61
|
- lib/mocha/parameter_matchers.rb
|
62
62
|
- lib/mocha/pretty_parameters.rb
|
63
63
|
- lib/mocha/return_values.rb
|
@@ -113,7 +113,7 @@ files:
|
|
113
113
|
- test/unit/parameter_matchers/includes_test.rb
|
114
114
|
- test/unit/parameter_matchers/instance_of_test.rb
|
115
115
|
- test/unit/parameter_matchers/kind_of_test.rb
|
116
|
-
- test/unit/parameter_matchers/
|
116
|
+
- test/unit/parameter_matchers/regexp_matches_test.rb
|
117
117
|
- test/unit/parameter_matchers/stub_matcher.rb
|
118
118
|
- test/unit/pretty_parameters_test.rb
|
119
119
|
- test/unit/return_values_test.rb
|
@@ -1,39 +0,0 @@
|
|
1
|
-
module Mocha
|
2
|
-
|
3
|
-
module ParameterMatchers
|
4
|
-
|
5
|
-
# :call-seq: matches(regular_expression) -> parameter_matcher
|
6
|
-
#
|
7
|
-
# Matches any object matching +regular_expression+.
|
8
|
-
# object = mock()
|
9
|
-
# object.expects(:method_1).with(matches(/oo/))
|
10
|
-
# object.method_1('foo')
|
11
|
-
# # no error raised
|
12
|
-
#
|
13
|
-
# object = mock()
|
14
|
-
# object.expects(:method_1).with(matches(/oo/))
|
15
|
-
# object.method_1('bar')
|
16
|
-
# # error raised, because method_1 was not called with parameter matching regular expression: /oo/
|
17
|
-
def matches(regular_expression)
|
18
|
-
Matches.new(regular_expression)
|
19
|
-
end
|
20
|
-
|
21
|
-
class Matches # :nodoc:
|
22
|
-
|
23
|
-
def initialize(regular_expression)
|
24
|
-
@regular_expression = regular_expression
|
25
|
-
end
|
26
|
-
|
27
|
-
def ==(parameter)
|
28
|
-
@regular_expression.match(parameter)
|
29
|
-
end
|
30
|
-
|
31
|
-
def mocha_inspect
|
32
|
-
"matches(#{@regular_expression.mocha_inspect})"
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|