rr 0.3.6 → 0.3.7
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +3 -0
- data/Rakefile +1 -1
- data/examples/high_level_example.rb +7 -0
- data/examples/rr/double/double_original_method_example.rb +33 -0
- data/lib/rr/double.rb +6 -2
- metadata +83 -82
data/CHANGES
CHANGED
data/Rakefile
CHANGED
@@ -130,4 +130,11 @@ describe "RR stub:" do
|
|
130
130
|
@obj.to_s.should == "a value"
|
131
131
|
@obj.to_sym.should == :crazy
|
132
132
|
end
|
133
|
+
|
134
|
+
it "stubs instance_of" do
|
135
|
+
stub.instance_of(Date) do |o|
|
136
|
+
o.to_s {"The Date"}
|
137
|
+
end
|
138
|
+
Date.new.to_s.should == "The Date"
|
139
|
+
end
|
133
140
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require "examples/example_helper"
|
2
|
+
|
3
|
+
module RR
|
4
|
+
describe Double, "#original_method" do
|
5
|
+
before do
|
6
|
+
@space = Space.new
|
7
|
+
@object = Object.new
|
8
|
+
@method_name = :to_s
|
9
|
+
@double = Double.new(@space, @object, @method_name)
|
10
|
+
class << @double
|
11
|
+
public :original_method_name
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
it "returns true when method is still in object" do
|
16
|
+
@double.bind
|
17
|
+
@double.original_method.should == @object.method(@double.original_method_name)
|
18
|
+
end
|
19
|
+
|
20
|
+
it "returns false when respond_to is true and methods do not include method" do
|
21
|
+
@double.bind
|
22
|
+
@object.methods.should include(@double.original_method_name.to_s)
|
23
|
+
class << @object
|
24
|
+
undef_method :__rr__original_to_s
|
25
|
+
end
|
26
|
+
def @object.respond_to?(value)
|
27
|
+
true
|
28
|
+
end
|
29
|
+
|
30
|
+
@double.original_method.should be_nil
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/lib/rr/double.rb
CHANGED
@@ -10,7 +10,7 @@ module RR
|
|
10
10
|
@space = space
|
11
11
|
@object = object
|
12
12
|
@method_name = method_name.to_sym
|
13
|
-
if
|
13
|
+
if object_has_method?(method_name)
|
14
14
|
meta.send(:alias_method, original_method_name, method_name)
|
15
15
|
end
|
16
16
|
@scenarios = []
|
@@ -60,7 +60,7 @@ module RR
|
|
60
60
|
# The original method of the object. It returns nil if the object
|
61
61
|
# does not have an original method.
|
62
62
|
def original_method
|
63
|
-
return nil unless
|
63
|
+
return nil unless object_has_method?(original_method_name)
|
64
64
|
return @object.method(original_method_name)
|
65
65
|
end
|
66
66
|
|
@@ -120,6 +120,10 @@ module RR
|
|
120
120
|
"__rr__original_#{@method_name}"
|
121
121
|
end
|
122
122
|
|
123
|
+
def object_has_method?(method_name)
|
124
|
+
@object.methods.include?(method_name.to_s)
|
125
|
+
end
|
126
|
+
|
123
127
|
def meta
|
124
128
|
(class << @object; self; end)
|
125
129
|
end
|
metadata
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.
|
2
|
+
rubygems_version: 0.9.2
|
3
3
|
specification_version: 1
|
4
4
|
name: rr
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.3.
|
7
|
-
date: 2007-08-
|
6
|
+
version: 0.3.7
|
7
|
+
date: 2007-08-09 00:00:00 -07:00
|
8
8
|
summary: RR (Double Ruby) is a double framework that features a rich selection of double techniques and a terse syntax. http://xunitpatterns.com/Test%20Double.html
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -29,106 +29,107 @@ post_install_message:
|
|
29
29
|
authors:
|
30
30
|
- Brian Takita
|
31
31
|
files:
|
32
|
+
- README
|
32
33
|
- Rakefile
|
33
34
|
- CHANGES
|
34
|
-
-
|
35
|
-
- lib/rr.rb
|
36
|
-
- lib/rr/
|
37
|
-
- lib/rr/scenario.rb
|
38
|
-
- lib/rr/scenario_definition.rb
|
39
|
-
- lib/rr/hash_with_object_id_key.rb
|
40
|
-
- lib/rr/scenario_definition_builder.rb
|
41
|
-
- lib/rr/scenario_matches.rb
|
42
|
-
- lib/rr/space.rb
|
43
|
-
- lib/rr/double.rb
|
44
|
-
- lib/rr/scenario_creator.rb
|
45
|
-
- lib/rr/times_called_matchers/any_times_matcher.rb
|
46
|
-
- lib/rr/times_called_matchers/at_most_matcher.rb
|
47
|
-
- lib/rr/times_called_matchers/times_called_matcher.rb
|
48
|
-
- lib/rr/times_called_matchers/at_least_matcher.rb
|
49
|
-
- lib/rr/times_called_matchers/proc_matcher.rb
|
50
|
-
- lib/rr/times_called_matchers/integer_matcher.rb
|
51
|
-
- lib/rr/times_called_matchers/non_terminal.rb
|
52
|
-
- lib/rr/times_called_matchers/terminal.rb
|
53
|
-
- lib/rr/times_called_matchers/range_matcher.rb
|
35
|
+
- lib/rr/extensions/instance_methods.rb
|
36
|
+
- lib/rr/adapters/test_unit.rb
|
37
|
+
- lib/rr/adapters/rspec.rb
|
54
38
|
- lib/rr/expectations/argument_equality_expectation.rb
|
55
39
|
- lib/rr/expectations/times_called_expectation.rb
|
56
40
|
- lib/rr/expectations/any_argument_expectation.rb
|
41
|
+
- lib/rr/scenario.rb
|
42
|
+
- lib/rr/double.rb
|
43
|
+
- lib/rr/errors/times_called_error.rb
|
57
44
|
- lib/rr/errors/scenario_not_found_error.rb
|
58
|
-
- lib/rr/errors/argument_equality_error.rb
|
59
45
|
- lib/rr/errors/scenario_order_error.rb
|
46
|
+
- lib/rr/errors/argument_equality_error.rb
|
60
47
|
- lib/rr/errors/rr_error.rb
|
61
|
-
- lib/rr/errors/times_called_error.rb
|
62
48
|
- lib/rr/errors/scenario_definition_error.rb
|
63
|
-
- lib/rr/
|
64
|
-
- lib/rr/
|
49
|
+
- lib/rr/scenario_creator.rb
|
50
|
+
- lib/rr/space.rb
|
51
|
+
- lib/rr/scenario_definition_builder.rb
|
52
|
+
- lib/rr/scenario_definition.rb
|
65
53
|
- lib/rr/wildcard_matchers/boolean.rb
|
54
|
+
- lib/rr/wildcard_matchers/anything.rb
|
55
|
+
- lib/rr/wildcard_matchers/numeric.rb
|
66
56
|
- lib/rr/wildcard_matchers/duck_type.rb
|
67
|
-
- lib/rr/wildcard_matchers/range.rb
|
68
57
|
- lib/rr/wildcard_matchers/regexp.rb
|
69
|
-
- lib/rr/wildcard_matchers/numeric.rb
|
70
58
|
- lib/rr/wildcard_matchers/is_a.rb
|
71
|
-
- lib/rr/wildcard_matchers/
|
72
|
-
- lib/rr/
|
73
|
-
-
|
74
|
-
-
|
75
|
-
-
|
76
|
-
-
|
77
|
-
-
|
78
|
-
-
|
79
|
-
-
|
80
|
-
-
|
81
|
-
-
|
82
|
-
-
|
83
|
-
-
|
84
|
-
-
|
85
|
-
- examples/rr/
|
86
|
-
- examples/rr/
|
87
|
-
- examples/rr/
|
88
|
-
- examples/rr/
|
89
|
-
- examples/rr/
|
90
|
-
- examples/rr/times_called_matchers/proc_matcher_example.rb
|
91
|
-
- examples/rr/times_called_matchers/any_times_matcher_example.rb
|
92
|
-
- examples/rr/times_called_matchers/integer_matcher_example.rb
|
93
|
-
- examples/rr/space/space_verify_example.rb
|
94
|
-
- examples/rr/space/space_reset_example.rb
|
95
|
-
- examples/rr/space/space_create_example.rb
|
96
|
-
- examples/rr/space/space_helper.rb
|
97
|
-
- examples/rr/space/space_example.rb
|
98
|
-
- examples/rr/space/hash_with_object_id_key_example.rb
|
99
|
-
- examples/rr/space/space_register_example.rb
|
100
|
-
- examples/rr/expectations/is_a_argument_equality_expectation_example.rb
|
101
|
-
- examples/rr/expectations/any_argument_expectation_example.rb
|
102
|
-
- examples/rr/expectations/regexp_argument_equality_expectation_example.rb
|
103
|
-
- examples/rr/expectations/boolean_argument_equality_expectation_example.rb
|
104
|
-
- examples/rr/expectations/duck_type_argument_equality_expectation_example.rb
|
105
|
-
- examples/rr/expectations/numeric_argument_equality_expectation_example.rb
|
106
|
-
- examples/rr/expectations/range_argument_equality_expectation_example.rb
|
59
|
+
- lib/rr/wildcard_matchers/range.rb
|
60
|
+
- lib/rr/times_called_matchers/at_least_matcher.rb
|
61
|
+
- lib/rr/times_called_matchers/range_matcher.rb
|
62
|
+
- lib/rr/times_called_matchers/integer_matcher.rb
|
63
|
+
- lib/rr/times_called_matchers/non_terminal.rb
|
64
|
+
- lib/rr/times_called_matchers/proc_matcher.rb
|
65
|
+
- lib/rr/times_called_matchers/times_called_matcher.rb
|
66
|
+
- lib/rr/times_called_matchers/at_most_matcher.rb
|
67
|
+
- lib/rr/times_called_matchers/any_times_matcher.rb
|
68
|
+
- lib/rr/times_called_matchers/terminal.rb
|
69
|
+
- lib/rr/scenario_method_proxy.rb
|
70
|
+
- lib/rr/scenario_matches.rb
|
71
|
+
- lib/rr/hash_with_object_id_key.rb
|
72
|
+
- lib/rr.rb
|
73
|
+
- examples/rr/extensions/instance_methods_creator_example.rb
|
74
|
+
- examples/rr/extensions/instance_methods_example_helper.rb
|
75
|
+
- examples/rr/extensions/instance_methods_times_matcher_example.rb
|
76
|
+
- examples/rr/extensions/instance_methods_argument_matcher_example.rb
|
77
|
+
- examples/rr/extensions/instance_methods_space_example.rb
|
107
78
|
- examples/rr/expectations/argument_equality_expectation_example.rb
|
108
79
|
- examples/rr/expectations/anything_argument_equality_expectation_example.rb
|
80
|
+
- examples/rr/expectations/times_called_expectation/times_called_expectation_at_least_example.rb
|
81
|
+
- examples/rr/expectations/times_called_expectation/times_called_expectation_range_example.rb
|
109
82
|
- examples/rr/expectations/times_called_expectation/times_called_expectation_integer_example.rb
|
110
|
-
- examples/rr/expectations/times_called_expectation/times_called_expectation_any_times_example.rb
|
111
|
-
- examples/rr/expectations/times_called_expectation/times_called_expectation_helper.rb
|
112
|
-
- examples/rr/expectations/times_called_expectation/times_called_expectation_proc_example.rb
|
113
83
|
- examples/rr/expectations/times_called_expectation/times_called_expectation_example.rb
|
114
|
-
- examples/rr/expectations/times_called_expectation/
|
84
|
+
- examples/rr/expectations/times_called_expectation/times_called_expectation_proc_example.rb
|
85
|
+
- examples/rr/expectations/times_called_expectation/times_called_expectation_helper.rb
|
115
86
|
- examples/rr/expectations/times_called_expectation/times_called_expectation_at_most_example.rb
|
116
|
-
- examples/rr/expectations/times_called_expectation/
|
117
|
-
- examples/rr/
|
118
|
-
- examples/rr/
|
87
|
+
- examples/rr/expectations/times_called_expectation/times_called_expectation_any_times_example.rb
|
88
|
+
- examples/rr/expectations/any_argument_expectation_example.rb
|
89
|
+
- examples/rr/expectations/is_a_argument_equality_expectation_example.rb
|
90
|
+
- examples/rr/expectations/numeric_argument_equality_expectation_example.rb
|
91
|
+
- examples/rr/expectations/boolean_argument_equality_expectation_example.rb
|
92
|
+
- examples/rr/expectations/duck_type_argument_equality_expectation_example.rb
|
93
|
+
- examples/rr/expectations/regexp_argument_equality_expectation_example.rb
|
94
|
+
- examples/rr/expectations/range_argument_equality_expectation_example.rb
|
95
|
+
- examples/rr/rspec/rspec_adapter_example.rb
|
96
|
+
- examples/rr/rspec/rspec_usage_example.rb
|
97
|
+
- examples/rr/rspec/rspec_backtrace_tweaking_example.rb
|
98
|
+
- examples/rr/test_unit/test_helper.rb
|
99
|
+
- examples/rr/test_unit/test_unit_integration_test.rb
|
100
|
+
- examples/rr/test_unit/test_unit_backtrace_test.rb
|
101
|
+
- examples/rr/scenario_example.rb
|
119
102
|
- examples/rr/double/double_bind_example.rb
|
120
|
-
- examples/rr/double/double_register_scenario_example.rb
|
121
|
-
- examples/rr/double/double_example.rb
|
122
103
|
- examples/rr/double/double_dispatching_example.rb
|
104
|
+
- examples/rr/double/double_example.rb
|
105
|
+
- examples/rr/double/double_reset_example.rb
|
123
106
|
- examples/rr/double/double_verify_example.rb
|
124
|
-
- examples/rr/
|
125
|
-
- examples/rr/
|
126
|
-
- examples/rr/
|
127
|
-
- examples/rr/
|
128
|
-
- examples/rr/
|
129
|
-
- examples/rr/
|
130
|
-
- examples/rr/
|
131
|
-
- examples/rr/
|
107
|
+
- examples/rr/double/double_register_scenario_example.rb
|
108
|
+
- examples/rr/double/double_original_method_example.rb
|
109
|
+
- examples/rr/space/space_example.rb
|
110
|
+
- examples/rr/space/space_reset_example.rb
|
111
|
+
- examples/rr/space/space_create_example.rb
|
112
|
+
- examples/rr/space/space_helper.rb
|
113
|
+
- examples/rr/space/space_register_example.rb
|
114
|
+
- examples/rr/space/space_verify_example.rb
|
115
|
+
- examples/rr/space/hash_with_object_id_key_example.rb
|
116
|
+
- examples/rr/times_called_matchers/proc_matcher_example.rb
|
117
|
+
- examples/rr/times_called_matchers/times_called_matcher_example.rb
|
118
|
+
- examples/rr/times_called_matchers/at_most_matcher_example.rb
|
119
|
+
- examples/rr/times_called_matchers/any_times_matcher_example.rb
|
120
|
+
- examples/rr/times_called_matchers/at_least_matcher_example.rb
|
121
|
+
- examples/rr/times_called_matchers/range_matcher_example.rb
|
122
|
+
- examples/rr/times_called_matchers/integer_matcher_example.rb
|
123
|
+
- examples/rr/scenario_creator_example.rb
|
124
|
+
- examples/rr/scenario_method_proxy_example.rb
|
125
|
+
- examples/rr/scenario_definition_example.rb
|
126
|
+
- examples/rr/errors/rr_error_example.rb
|
127
|
+
- examples/rspec_example_suite.rb
|
128
|
+
- examples/high_level_example.rb
|
129
|
+
- examples/test_unit_example_suite.rb
|
130
|
+
- examples/example_suite.rb
|
131
|
+
- examples/environment_fixture_setup.rb
|
132
|
+
- examples/example_helper.rb
|
132
133
|
test_files: []
|
133
134
|
|
134
135
|
rdoc_options:
|