rr 0.8.1 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,3 +1,5 @@
1
+ - instance_of Doubles now apply to methods invoked in the subject's #initialize method.
2
+
1
3
  * 0.8.1
2
4
  - Fixed exception where the Subject uses method delegation via method_missing (e.g. certain ActiveRecord AssociationProxy methods)
3
5
 
data/README.rdoc CHANGED
@@ -330,6 +330,6 @@ to making it possible. We all are standing on the shoulders of giants.
330
330
  * Nick Kallen for documentation suggestions, bug reports, and patches
331
331
  * Nathan Sobo for various ideas and inspiration for cleaner and more expressive code
332
332
  * Parker Thompson for pairing with me
333
- * Phil Arnowsky for patches
333
+ * Phil Darnowsky for patches
334
334
  * Pivotal Labs for sponsoring RR development
335
335
  * Stephen Baker for Developing Rspec
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
- :minor: 8
3
- :patch: 1
4
2
  :major: 0
3
+ :minor: 9
4
+ :patch: 0
data/lib/rr.rb CHANGED
@@ -17,6 +17,7 @@ require "#{dir}/rr/space"
17
17
  require "#{dir}/rr/double_injection"
18
18
  require "#{dir}/rr/hash_with_object_id_key"
19
19
  require "#{dir}/rr/recorded_calls"
20
+ require "#{dir}/rr/proc_from_block"
20
21
 
21
22
  require "#{dir}/rr/double_definitions/double_definition_creator_proxy"
22
23
  require "#{dir}/rr/double_definitions/double_definition_creator"
@@ -32,7 +32,8 @@ module RR
32
32
 
33
33
  def matches?(subject)
34
34
  @verification.subject = subject
35
- if error = RR::Space.instance.recorded_calls.match_error(@verification)
35
+ calls = RR::Space.instance.recorded_calls
36
+ if error = calls.match_error(@verification)
36
37
  @failure_message = error.message
37
38
  false
38
39
  else
data/lib/rr/double.rb CHANGED
@@ -181,7 +181,7 @@ module RR
181
181
  if implementation.is_a?(Method)
182
182
  implementation.call(*args, &block)
183
183
  else
184
- args << block if block
184
+ args << ProcFromBlock.new(&block) if block
185
185
  implementation.call(*args)
186
186
  end
187
187
  else
@@ -26,18 +26,22 @@ module RR
26
26
 
27
27
  protected
28
28
  def do_call
29
- class_handler = lambda do |return_value|
29
+ instance_of_subject_creator = DoubleDefinitionCreator.new
30
+ instance_of_subject_creator.strong if definition.verify_method_signature?
31
+ instance_of_subject_creator.stub(subject)
32
+ instance_of_subject_creator.create(:new) do |*args|
30
33
  #####
31
- double_injection = space.double_injection(return_value, method_name)
34
+ instance = subject.allocate
35
+ double_injection = space.double_injection(instance, method_name)
32
36
  Double.new(double_injection, definition)
33
37
  #####
34
- return_value
38
+ if args.last.is_a?(ProcFromBlock)
39
+ instance.__send__(:initialize, *args[0..(args.length-2)], &args.last)
40
+ else
41
+ instance.__send__(:initialize, *args)
42
+ end
43
+ instance
35
44
  end
36
-
37
- instance_of_subject_creator = DoubleDefinitionCreator.new
38
- instance_of_subject_creator.strong if definition.verify_method_signature?
39
- instance_of_subject_creator.stub.proxy(subject)
40
- instance_of_subject_creator.create(:new, &class_handler)
41
45
  end
42
46
  end
43
47
  end
@@ -1,41 +1,44 @@
1
1
  module RR
2
- class HashWithObjectIdKey < ::Hash #:nodoc:
3
- def initialize
4
- @keys = {}
5
- super do |hash, subject_object|
6
- hash.set_with_object_id(subject_object, {})
2
+ # TODO: Refactor to a side-effect-free strategy.
3
+ class HashWithObjectIdKey < ::Hash #:nodoc:
4
+ def initialize
5
+ @keys = {}
6
+ super do |hash, subject_object|
7
+ hash.set_with_object_id(subject_object, {})
8
+ end
7
9
  end
8
- end
9
10
 
10
- alias_method :get_with_object_id, :[]
11
- def [](key)
12
- @keys[key.__id__] = key
13
- super(key.__id__)
14
- end
11
+ alias_method :get_with_object_id, :[]
15
12
 
16
- alias_method :set_with_object_id, :[]=
17
- def []=(key, value)
18
- @keys[key.__id__] = key
19
- super(key.__id__, value)
20
- end
13
+ def [](key)
14
+ @keys[key.__id__] = key
15
+ super(key.__id__)
16
+ end
21
17
 
22
- def each
23
- super do |object_id, value|
24
- yield @keys[object_id], value
18
+ alias_method :set_with_object_id, :[]=
19
+
20
+ def []=(key, value)
21
+ @keys[key.__id__] = key
22
+ super(key.__id__, value)
25
23
  end
26
- end
27
24
 
28
- def delete(key)
29
- @keys.delete(key.__id__)
30
- super(key.__id__)
31
- end
25
+ def each
26
+ super do |object_id, value|
27
+ yield @keys[object_id], value
28
+ end
29
+ end
32
30
 
33
- def keys
34
- @keys.values
35
- end
31
+ def delete(key)
32
+ @keys.delete(key.__id__)
33
+ super(key.__id__)
34
+ end
36
35
 
37
- def include?(key)
38
- super(key.__id__)
36
+ def keys
37
+ @keys.values
38
+ end
39
+
40
+ def include?(key)
41
+ super(key.__id__)
42
+ end
39
43
  end
40
- end
41
44
  end
@@ -0,0 +1,7 @@
1
+ module RR
2
+ class ProcFromBlock < Proc
3
+ def ==(other)
4
+ Proc.new(&self) == other
5
+ end
6
+ end
7
+ end
data/lib/rr/space.rb CHANGED
@@ -39,7 +39,7 @@ module RR
39
39
  end
40
40
 
41
41
  def double_injection_exists?(subject, method_name)
42
- !!@double_injections[subject][method_name.to_sym]
42
+ @double_injections.include?(subject) && @double_injections[subject].include?(method_name.to_sym)
43
43
  end
44
44
 
45
45
  # Registers the ordered Double to be verified.
@@ -1,6 +1,17 @@
1
1
  require File.expand_path("#{File.dirname(__FILE__)}/spec_helper")
2
2
 
3
3
  class HighLevelSpec
4
+ attr_reader :initialize_arguments
5
+
6
+ def initialize(*args)
7
+ @initialize_arguments = args
8
+ yield if block_given?
9
+ method_run_in_initialize
10
+ end
11
+
12
+ def method_run_in_initialize
13
+
14
+ end
4
15
  end
5
16
 
6
17
  describe "RR" do
@@ -251,6 +262,25 @@ describe "RR" do
251
262
  stub(subject).__send__(:==) {:equality}
252
263
  (subject == 55).should == :equality
253
264
  end
265
+
266
+ it "stubs methods invoked in #initialize while passing along the #initialize arg" do
267
+ method_run_in_initialize_stubbed = false
268
+ stub.instance_of(HighLevelSpec) do |o|
269
+ o.method_run_in_initialize {method_run_in_initialize_stubbed = true}
270
+ end
271
+ HighLevelSpec.new
272
+ method_run_in_initialize_stubbed.should be_true
273
+ end
274
+
275
+ it "passed the arguments and block passed to #initialize" do
276
+ block_called = false
277
+ stub.instance_of(HighLevelSpec) do |o|
278
+ o.method_run_in_initialize
279
+ end
280
+ instance = HighLevelSpec.new(1, 2) {block_called = true}
281
+ instance.initialize_arguments.should == [1, 2]
282
+ block_called.should be_true
283
+ end
254
284
  end
255
285
 
256
286
  describe "RR recorded_calls" do
@@ -0,0 +1,14 @@
1
+ require File.expand_path("#{File.dirname(__FILE__)}/spec_helper")
2
+
3
+ module RR
4
+ describe ProcFromBlock do
5
+ describe "#==" do
6
+ it "acts the same as #== on a Proc" do
7
+ original_proc = lambda {}
8
+ Proc.new(&original_proc).should == original_proc
9
+
10
+ ProcFromBlock.new(&original_proc).should == original_proc
11
+ end
12
+ end
13
+ end
14
+ end
@@ -707,9 +707,10 @@ module RR
707
707
  :new_return_value
708
708
  end
709
709
  passed_in_block_arg = nil
710
- @return_value = subject.foobar(1, 2) do |arg|
710
+ @block = lambda do |arg|
711
711
  passed_in_block_arg = arg
712
712
  end
713
+ @return_value = subject.foobar(1, 2, &@block)
713
714
  @passed_in_block_arg = passed_in_block_arg
714
715
 
715
716
  @args = actual_args
@@ -722,9 +723,14 @@ module RR
722
723
  describe "#subject.method_name being called" do
723
724
  it "returns the return value of the block" do
724
725
  @return_value.should == :new_return_value
726
+ end
727
+
728
+ it "passes an array of the args with the block appended as a ProcFromBlock around the original block" do
725
729
  @args.length.should == 3
726
730
  @args[0..1].should == [1, 2]
727
- @args[2].should be_instance_of(Proc)
731
+ @args[2].should be_instance_of(ProcFromBlock)
732
+ @block.should == Proc.new(&@block)
733
+ @args[2].should == @block
728
734
  end
729
735
  end
730
736
  end
@@ -6,6 +6,7 @@ class RspecExampleSuite
6
6
  puts "Running Rspec Example Suite"
7
7
  dir = File.dirname(__FILE__)
8
8
  Dir["#{dir}/rr/rspec/**/*_spec.rb"].each do |file|
9
+ # puts "require '#{file}'"
9
10
  require file
10
11
  end
11
12
  end
data/spec/spec_helper.rb CHANGED
@@ -2,6 +2,7 @@ dir = File.dirname(__FILE__)
2
2
  require "#{dir}/environment_fixture_setup"
3
3
  require "#{dir}/rr/expectations/times_called_expectation/times_called_expectation_helper"
4
4
  require "#{dir}/rr/adapters/rr_methods_spec_helper"
5
+ ARGV.push("--format", "nested") unless ARGV.include?("--format")
5
6
 
6
7
  Spec::Runner.configure do |config|
7
8
  config.mock_with RR::Adapters::Rspec
data/spec/spec_suite.rb CHANGED
@@ -6,17 +6,21 @@ class ExampleSuite
6
6
  end
7
7
 
8
8
  def run_core_examples
9
- system("ruby #{dir}/core_spec_suite.rb --options #{dir}/spec.opts") || raise("Core suite Failed")
9
+ system("ruby #{dir}/core_spec_suite.rb #{spec_opts}") || raise("Core suite Failed")
10
10
  end
11
11
 
12
12
  def run_rspec_examples
13
- system("ruby #{dir}/rspec_spec_suite.rb --options #{dir}/spec.opts") || raise("Rspec suite Failed")
13
+ system("ruby #{dir}/rspec_spec_suite.rb #{spec_opts}") || raise("Rspec suite Failed")
14
14
  end
15
15
 
16
16
  def run_test_unit_examples
17
17
  system("ruby #{dir}/test_unit_spec_suite.rb") || raise("Test::Unit suite Failed")
18
18
  end
19
19
 
20
+ def spec_opts
21
+ File.read("#{dir}/spec.opts").split("\n").join(" ")
22
+ end
23
+
20
24
  def dir
21
25
  File.dirname(__FILE__)
22
26
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Takita
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-29 00:00:00 -07:00
12
+ date: 2009-04-25 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -20,140 +20,142 @@ executables: []
20
20
  extensions: []
21
21
 
22
22
  extra_rdoc_files:
23
- - README.rdoc
24
23
  - CHANGES
24
+ - README.rdoc
25
25
  files:
26
- - VERSION.yml
26
+ - CHANGES
27
27
  - README.rdoc
28
28
  - Rakefile
29
- - CHANGES
30
- - lib/rr/double_injection.rb
31
- - lib/rr/hash_with_object_id_key.rb
32
- - lib/rr/wildcard_matchers/hash_including.rb
33
- - lib/rr/wildcard_matchers/range.rb
34
- - lib/rr/wildcard_matchers/satisfy.rb
35
- - lib/rr/wildcard_matchers/regexp.rb
36
- - lib/rr/wildcard_matchers/duck_type.rb
37
- - lib/rr/wildcard_matchers/is_a.rb
38
- - lib/rr/wildcard_matchers/numeric.rb
39
- - lib/rr/wildcard_matchers/boolean.rb
40
- - lib/rr/wildcard_matchers/anything.rb
41
- - lib/rr/errors/subject_does_not_implement_method_error.rb
42
- - lib/rr/errors/subject_has_different_arity_error.rb
43
- - lib/rr/errors/rr_error.rb
44
- - lib/rr/errors/double_order_error.rb
45
- - lib/rr/errors/double_not_found_error.rb
46
- - lib/rr/errors/times_called_error.rb
47
- - lib/rr/errors/double_definition_error.rb
48
- - lib/rr/errors/argument_equality_error.rb
49
- - lib/rr/errors/spy_verification_errors/invocation_count_error.rb
50
- - lib/rr/errors/spy_verification_errors/spy_verification_error.rb
51
- - lib/rr/errors/spy_verification_errors/double_injection_not_found_error.rb
29
+ - VERSION.yml
30
+ - lib/rr.rb
31
+ - lib/rr/adapters/rr_methods.rb
52
32
  - lib/rr/adapters/rspec.rb
53
33
  - lib/rr/adapters/test_unit.rb
54
- - lib/rr/adapters/rr_methods.rb
55
- - lib/rr/times_called_matchers/proc_matcher.rb
56
- - lib/rr/times_called_matchers/at_most_matcher.rb
57
- - lib/rr/times_called_matchers/times_called_matcher.rb
58
- - lib/rr/times_called_matchers/non_terminal.rb
59
- - lib/rr/times_called_matchers/terminal.rb
60
- - lib/rr/times_called_matchers/range_matcher.rb
61
- - lib/rr/times_called_matchers/at_least_matcher.rb
62
- - lib/rr/times_called_matchers/any_times_matcher.rb
63
- - lib/rr/times_called_matchers/integer_matcher.rb
64
- - lib/rr/double_matches.rb
65
34
  - lib/rr/double.rb
66
- - lib/rr/spy_verification.rb
67
- - lib/rr/space.rb
68
- - lib/rr/spy_verification_proxy.rb
69
- - lib/rr/expectations/argument_equality_expectation.rb
70
- - lib/rr/expectations/any_argument_expectation.rb
71
- - lib/rr/expectations/times_called_expectation.rb
72
- - lib/rr/wildcard_matchers.rb
73
- - lib/rr/double_definitions/strategies/implementation/strongly_typed_reimplementation.rb
74
- - lib/rr/double_definitions/strategies/implementation/reimplementation.rb
75
- - lib/rr/double_definitions/strategies/implementation/proxy.rb
35
+ - lib/rr/double_definitions/child_double_definition_creator.rb
36
+ - lib/rr/double_definitions/double_definition.rb
37
+ - lib/rr/double_definitions/double_definition_creator.rb
38
+ - lib/rr/double_definitions/double_definition_creator_proxy.rb
76
39
  - lib/rr/double_definitions/strategies/implementation/implementation_strategy.rb
77
- - lib/rr/double_definitions/strategies/strategy.rb
78
- - lib/rr/double_definitions/strategies/scope/instance_of_class.rb
40
+ - lib/rr/double_definitions/strategies/implementation/proxy.rb
41
+ - lib/rr/double_definitions/strategies/implementation/reimplementation.rb
42
+ - lib/rr/double_definitions/strategies/implementation/strongly_typed_reimplementation.rb
79
43
  - lib/rr/double_definitions/strategies/scope/instance.rb
44
+ - lib/rr/double_definitions/strategies/scope/instance_of_class.rb
80
45
  - lib/rr/double_definitions/strategies/scope/scope_strategy.rb
81
- - lib/rr/double_definitions/strategies/verification/stub.rb
46
+ - lib/rr/double_definitions/strategies/strategy.rb
82
47
  - lib/rr/double_definitions/strategies/verification/dont_allow.rb
83
- - lib/rr/double_definitions/strategies/verification/verification_strategy.rb
84
48
  - lib/rr/double_definitions/strategies/verification/mock.rb
85
- - lib/rr/double_definitions/double_definition_creator.rb
86
- - lib/rr/double_definitions/double_definition_creator_proxy.rb
87
- - lib/rr/double_definitions/double_definition.rb
88
- - lib/rr/double_definitions/child_double_definition_creator.rb
49
+ - lib/rr/double_definitions/strategies/verification/stub.rb
50
+ - lib/rr/double_definitions/strategies/verification/verification_strategy.rb
51
+ - lib/rr/double_injection.rb
52
+ - lib/rr/double_matches.rb
53
+ - lib/rr/errors/argument_equality_error.rb
54
+ - lib/rr/errors/double_definition_error.rb
55
+ - lib/rr/errors/double_not_found_error.rb
56
+ - lib/rr/errors/double_order_error.rb
57
+ - lib/rr/errors/rr_error.rb
58
+ - lib/rr/errors/spy_verification_errors/double_injection_not_found_error.rb
59
+ - lib/rr/errors/spy_verification_errors/invocation_count_error.rb
60
+ - lib/rr/errors/spy_verification_errors/spy_verification_error.rb
61
+ - lib/rr/errors/subject_does_not_implement_method_error.rb
62
+ - lib/rr/errors/subject_has_different_arity_error.rb
63
+ - lib/rr/errors/times_called_error.rb
64
+ - lib/rr/expectations/any_argument_expectation.rb
65
+ - lib/rr/expectations/argument_equality_expectation.rb
66
+ - lib/rr/expectations/times_called_expectation.rb
67
+ - lib/rr/hash_with_object_id_key.rb
68
+ - lib/rr/proc_from_block.rb
89
69
  - lib/rr/recorded_calls.rb
90
- - lib/rr.rb
91
- - spec/test_unit_spec_suite.rb
92
- - spec/rspec_spec_suite.rb
93
- - spec/spec_suite.rb
70
+ - lib/rr/space.rb
71
+ - lib/rr/spy_verification.rb
72
+ - lib/rr/spy_verification_proxy.rb
73
+ - lib/rr/times_called_matchers/any_times_matcher.rb
74
+ - lib/rr/times_called_matchers/at_least_matcher.rb
75
+ - lib/rr/times_called_matchers/at_most_matcher.rb
76
+ - lib/rr/times_called_matchers/integer_matcher.rb
77
+ - lib/rr/times_called_matchers/non_terminal.rb
78
+ - lib/rr/times_called_matchers/proc_matcher.rb
79
+ - lib/rr/times_called_matchers/range_matcher.rb
80
+ - lib/rr/times_called_matchers/terminal.rb
81
+ - lib/rr/times_called_matchers/times_called_matcher.rb
82
+ - lib/rr/wildcard_matchers.rb
83
+ - lib/rr/wildcard_matchers/anything.rb
84
+ - lib/rr/wildcard_matchers/boolean.rb
85
+ - lib/rr/wildcard_matchers/duck_type.rb
86
+ - lib/rr/wildcard_matchers/hash_including.rb
87
+ - lib/rr/wildcard_matchers/is_a.rb
88
+ - lib/rr/wildcard_matchers/numeric.rb
89
+ - lib/rr/wildcard_matchers/range.rb
90
+ - lib/rr/wildcard_matchers/regexp.rb
91
+ - lib/rr/wildcard_matchers/satisfy.rb
94
92
  - spec/core_spec_suite.rb
95
- - spec/spec_helper.rb
96
- - spec/rr/wildcard_matchers/anything_spec.rb
97
- - spec/rr/wildcard_matchers/numeric_spec.rb
98
- - spec/rr/wildcard_matchers/is_a_spec.rb
99
- - spec/rr/wildcard_matchers/regexp_spec.rb
100
- - spec/rr/wildcard_matchers/duck_type_spec.rb
101
- - spec/rr/wildcard_matchers/boolean_spec.rb
102
- - spec/rr/wildcard_matchers/range_spec.rb
103
- - spec/rr/space/hash_with_object_id_key_spec.rb
104
- - spec/rr/space/space_spec.rb
105
- - spec/rr/rspec/rspec_backtrace_tweaking_spec.rb
106
- - spec/rr/rspec/invocation_matcher_spec.rb
107
- - spec/rr/rspec/rspec_backtrace_tweaking_spec_fixture.rb
108
- - spec/rr/rspec/rspec_usage_spec.rb
109
- - spec/rr/rspec/rspec_adapter_spec.rb
110
- - spec/rr/test_unit/test_unit_backtrace_test.rb
111
- - spec/rr/test_unit/test_unit_integration_test.rb
112
- - spec/rr/test_unit/test_helper.rb
113
- - spec/rr/errors/rr_error_spec.rb
114
- - spec/rr/adapters/rr_methods_creator_spec.rb
115
- - spec/rr/adapters/rr_methods_times_matcher_spec.rb
116
- - spec/rr/adapters/rr_methods_spec_helper.rb
93
+ - spec/environment_fixture_setup.rb
94
+ - spec/high_level_spec.rb
95
+ - spec/proc_from_block_spec.rb
117
96
  - spec/rr/adapters/rr_methods_argument_matcher_spec.rb
97
+ - spec/rr/adapters/rr_methods_creator_spec.rb
118
98
  - spec/rr/adapters/rr_methods_space_spec.rb
119
- - spec/rr/times_called_matchers/integer_matcher_spec.rb
120
- - spec/rr/times_called_matchers/any_times_matcher_spec.rb
121
- - spec/rr/times_called_matchers/range_matcher_spec.rb
122
- - spec/rr/times_called_matchers/proc_matcher_spec.rb
123
- - spec/rr/times_called_matchers/times_called_matcher_spec.rb
124
- - spec/rr/times_called_matchers/at_least_matcher_spec.rb
125
- - spec/rr/times_called_matchers/at_most_matcher_spec.rb
126
- - spec/rr/double_spec.rb
127
- - spec/rr/double_injection/double_injection_spec.rb
128
- - spec/rr/double_injection/double_injection_reset_spec.rb
129
- - spec/rr/double_injection/double_injection_has_original_method_spec.rb
99
+ - spec/rr/adapters/rr_methods_spec_helper.rb
100
+ - spec/rr/adapters/rr_methods_times_matcher_spec.rb
101
+ - spec/rr/double_definitions/child_double_definition_creator_spec.rb
102
+ - spec/rr/double_definitions/double_definition_creator_proxy_spec.rb
103
+ - spec/rr/double_definitions/double_definition_creator_spec.rb
104
+ - spec/rr/double_definitions/double_definition_spec.rb
130
105
  - spec/rr/double_injection/double_injection_bind_spec.rb
131
106
  - spec/rr/double_injection/double_injection_dispatching_spec.rb
107
+ - spec/rr/double_injection/double_injection_has_original_method_spec.rb
108
+ - spec/rr/double_injection/double_injection_reset_spec.rb
109
+ - spec/rr/double_injection/double_injection_spec.rb
132
110
  - spec/rr/double_injection/double_injection_verify_spec.rb
111
+ - spec/rr/double_spec.rb
112
+ - spec/rr/errors/rr_error_spec.rb
113
+ - spec/rr/expectations/any_argument_expectation_spec.rb
133
114
  - spec/rr/expectations/anything_argument_equality_expectation_spec.rb
115
+ - spec/rr/expectations/argument_equality_expectation_spec.rb
116
+ - spec/rr/expectations/boolean_argument_equality_expectation_spec.rb
117
+ - spec/rr/expectations/hash_including_argument_equality_expectation_spec.rb
118
+ - spec/rr/expectations/hash_including_spec.rb
134
119
  - spec/rr/expectations/satisfy_argument_equality_expectation_spec.rb
135
- - spec/rr/expectations/any_argument_expectation_spec.rb
136
- - spec/rr/expectations/times_called_expectation/times_called_expectation_spec.rb
120
+ - spec/rr/expectations/satisfy_spec.rb
121
+ - spec/rr/expectations/times_called_expectation/times_called_expectation_any_times_spec.rb
137
122
  - spec/rr/expectations/times_called_expectation/times_called_expectation_at_least_spec.rb
138
- - spec/rr/expectations/times_called_expectation/times_called_expectation_proc_spec.rb
139
123
  - spec/rr/expectations/times_called_expectation/times_called_expectation_at_most_spec.rb
140
- - spec/rr/expectations/times_called_expectation/times_called_expectation_any_times_spec.rb
141
- - spec/rr/expectations/times_called_expectation/times_called_expectation_range_spec.rb
142
- - spec/rr/expectations/times_called_expectation/times_called_expectation_integer_spec.rb
143
124
  - spec/rr/expectations/times_called_expectation/times_called_expectation_helper.rb
144
- - spec/rr/expectations/hash_including_argument_equality_expectation_spec.rb
145
- - spec/rr/expectations/satisfy_spec.rb
146
- - spec/rr/expectations/hash_including_spec.rb
147
- - spec/rr/expectations/argument_equality_expectation_spec.rb
148
- - spec/rr/expectations/boolean_argument_equality_expectation_spec.rb
149
- - spec/rr/double_definitions/child_double_definition_creator_spec.rb
150
- - spec/rr/double_definitions/double_definition_creator_spec.rb
151
- - spec/rr/double_definitions/double_definition_creator_proxy_spec.rb
152
- - spec/rr/double_definitions/double_definition_spec.rb
125
+ - spec/rr/expectations/times_called_expectation/times_called_expectation_integer_spec.rb
126
+ - spec/rr/expectations/times_called_expectation/times_called_expectation_proc_spec.rb
127
+ - spec/rr/expectations/times_called_expectation/times_called_expectation_range_spec.rb
128
+ - spec/rr/expectations/times_called_expectation/times_called_expectation_spec.rb
129
+ - spec/rr/rspec/invocation_matcher_spec.rb
130
+ - spec/rr/rspec/rspec_adapter_spec.rb
131
+ - spec/rr/rspec/rspec_backtrace_tweaking_spec.rb
132
+ - spec/rr/rspec/rspec_backtrace_tweaking_spec_fixture.rb
133
+ - spec/rr/rspec/rspec_usage_spec.rb
134
+ - spec/rr/space/hash_with_object_id_key_spec.rb
135
+ - spec/rr/space/space_spec.rb
136
+ - spec/rr/test_unit/test_helper.rb
137
+ - spec/rr/test_unit/test_unit_backtrace_test.rb
138
+ - spec/rr/test_unit/test_unit_integration_test.rb
139
+ - spec/rr/times_called_matchers/any_times_matcher_spec.rb
140
+ - spec/rr/times_called_matchers/at_least_matcher_spec.rb
141
+ - spec/rr/times_called_matchers/at_most_matcher_spec.rb
142
+ - spec/rr/times_called_matchers/integer_matcher_spec.rb
143
+ - spec/rr/times_called_matchers/proc_matcher_spec.rb
144
+ - spec/rr/times_called_matchers/range_matcher_spec.rb
145
+ - spec/rr/times_called_matchers/times_called_matcher_spec.rb
146
+ - spec/rr/wildcard_matchers/anything_spec.rb
147
+ - spec/rr/wildcard_matchers/boolean_spec.rb
148
+ - spec/rr/wildcard_matchers/duck_type_spec.rb
149
+ - spec/rr/wildcard_matchers/is_a_spec.rb
150
+ - spec/rr/wildcard_matchers/numeric_spec.rb
151
+ - spec/rr/wildcard_matchers/range_spec.rb
152
+ - spec/rr/wildcard_matchers/regexp_spec.rb
153
153
  - spec/rr_spec.rb
154
- - spec/high_level_spec.rb
154
+ - spec/rspec_spec_suite.rb
155
+ - spec/spec_helper.rb
156
+ - spec/spec_suite.rb
155
157
  - spec/spy_verification_spec.rb
156
- - spec/environment_fixture_setup.rb
158
+ - spec/test_unit_spec_suite.rb
157
159
  has_rdoc: true
158
160
  homepage: http://pivotallabs.com
159
161
  post_install_message:
@@ -162,8 +164,6 @@ rdoc_options:
162
164
  - README.rdoc
163
165
  - --inline-source
164
166
  - --line-numbers
165
- - --inline-source
166
- - --charset=UTF-8
167
167
  require_paths:
168
168
  - lib
169
169
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -186,6 +186,7 @@ signing_key:
186
186
  specification_version: 2
187
187
  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
188
188
  test_files:
189
- - spec/rr_spec.rb
190
- - spec/high_level_spec.rb
191
189
  - spec/spy_verification_spec.rb
190
+ - spec/high_level_spec.rb
191
+ - spec/rr_spec.rb
192
+ - spec/proc_from_block_spec.rb