rspec-mocks 2.12.1 → 2.12.2

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.
Files changed (56) hide show
  1. data/Changelog.md +17 -0
  2. data/lib/rspec/mocks.rb +8 -0
  3. data/lib/rspec/mocks/message_expectation.rb +6 -11
  4. data/lib/rspec/mocks/method_double.rb +19 -2
  5. data/lib/rspec/mocks/mutate_const.rb +1 -1
  6. data/lib/rspec/mocks/proxy.rb +1 -1
  7. data/lib/rspec/mocks/version.rb +1 -1
  8. data/lib/spec/mocks.rb +4 -0
  9. data/spec/rspec/mocks/and_call_original_spec.rb +22 -0
  10. data/spec/rspec/mocks/and_yield_spec.rb +7 -7
  11. data/spec/rspec/mocks/any_instance/message_chains_spec.rb +6 -6
  12. data/spec/rspec/mocks/any_instance_spec.rb +94 -94
  13. data/spec/rspec/mocks/any_number_of_times_spec.rb +2 -2
  14. data/spec/rspec/mocks/argument_expectation_spec.rb +3 -3
  15. data/spec/rspec/mocks/at_least_spec.rb +15 -15
  16. data/spec/rspec/mocks/at_most_spec.rb +7 -7
  17. data/spec/rspec/mocks/block_return_value_spec.rb +6 -6
  18. data/spec/rspec/mocks/bug_report_10260_spec.rb +1 -1
  19. data/spec/rspec/mocks/bug_report_10263_spec.rb +6 -4
  20. data/spec/rspec/mocks/bug_report_11545_spec.rb +1 -1
  21. data/spec/rspec/mocks/bug_report_600_spec.rb +1 -1
  22. data/spec/rspec/mocks/bug_report_7611_spec.rb +1 -1
  23. data/spec/rspec/mocks/bug_report_8165_spec.rb +4 -4
  24. data/spec/rspec/mocks/bug_report_830_spec.rb +2 -2
  25. data/spec/rspec/mocks/bug_report_957_spec.rb +2 -2
  26. data/spec/rspec/mocks/configuration_spec.rb +4 -4
  27. data/spec/rspec/mocks/double_spec.rb +1 -1
  28. data/spec/rspec/mocks/failing_argument_matchers_spec.rb +1 -1
  29. data/spec/rspec/mocks/hash_excluding_matcher_spec.rb +13 -13
  30. data/spec/rspec/mocks/hash_including_matcher_spec.rb +30 -30
  31. data/spec/rspec/mocks/mock_ordering_spec.rb +8 -8
  32. data/spec/rspec/mocks/mock_space_spec.rb +4 -4
  33. data/spec/rspec/mocks/mock_spec.rb +94 -90
  34. data/spec/rspec/mocks/multiple_return_value_spec.rb +21 -21
  35. data/spec/rspec/mocks/mutate_const_spec.rb +112 -102
  36. data/spec/rspec/mocks/nil_expectation_warning_spec.rb +6 -12
  37. data/spec/rspec/mocks/null_object_mock_spec.rb +12 -12
  38. data/spec/rspec/mocks/once_counts_spec.rb +7 -7
  39. data/spec/rspec/mocks/options_hash_spec.rb +6 -6
  40. data/spec/rspec/mocks/partial_mock_spec.rb +15 -15
  41. data/spec/rspec/mocks/partial_mock_using_mocks_directly_spec.rb +17 -17
  42. data/spec/rspec/mocks/passing_argument_matchers_spec.rb +6 -6
  43. data/spec/rspec/mocks/precise_counts_spec.rb +7 -7
  44. data/spec/rspec/mocks/record_messages_spec.rb +4 -4
  45. data/spec/rspec/mocks/serialization_spec.rb +3 -3
  46. data/spec/rspec/mocks/stash_spec.rb +1 -1
  47. data/spec/rspec/mocks/stub_chain_spec.rb +22 -22
  48. data/spec/rspec/mocks/stub_implementation_spec.rb +10 -10
  49. data/spec/rspec/mocks/stub_spec.rb +50 -31
  50. data/spec/rspec/mocks/stubbed_message_expectations_spec.rb +3 -3
  51. data/spec/rspec/mocks/test_double_spec.rb +3 -3
  52. data/spec/rspec/mocks/to_ary_spec.rb +7 -7
  53. data/spec/rspec/mocks/twice_counts_spec.rb +8 -8
  54. data/spec/rspec/mocks_spec.rb +13 -4
  55. data/spec/spec_helper.rb +4 -0
  56. metadata +5 -5
@@ -30,9 +30,9 @@ module RSpec
30
30
  it "fails when messages are received out of order (2nd message 1st)" do
31
31
  @double.should_receive(:one).ordered
32
32
  @double.should_receive(:two).ordered
33
- lambda do
33
+ expect {
34
34
  @double.two
35
- end.should raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :two out of order")
35
+ }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :two out of order")
36
36
  end
37
37
 
38
38
  it "fails when messages are received out of order (3rd message 1st)" do
@@ -40,9 +40,9 @@ module RSpec
40
40
  @double.should_receive(:two).ordered
41
41
  @double.should_receive(:three).ordered
42
42
  @double.one
43
- lambda do
43
+ expect {
44
44
  @double.three
45
- end.should raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :three out of order")
45
+ }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :three out of order")
46
46
  end
47
47
 
48
48
  it "fails when messages are received out of order (3rd message 2nd)" do
@@ -50,9 +50,9 @@ module RSpec
50
50
  @double.should_receive(:two).ordered
51
51
  @double.should_receive(:three).ordered
52
52
  @double.one
53
- lambda do
53
+ expect {
54
54
  @double.three
55
- end.should raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :three out of order")
55
+ }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :three out of order")
56
56
  end
57
57
 
58
58
  it "fails when messages are out of order across objects" do
@@ -62,9 +62,9 @@ module RSpec
62
62
  b.should_receive(:two).ordered
63
63
  a.should_receive(:three).ordered
64
64
  a.one
65
- lambda do
65
+ expect {
66
66
  a.three
67
- end.should raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :three out of order")
67
+ }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :three out of order")
68
68
  a.rspec_reset
69
69
  b.rspec_reset
70
70
  end
@@ -27,8 +27,8 @@ module RSpec
27
27
  @space.add(@m1)
28
28
  @space.add(@m2)
29
29
  @space.verify_all
30
- @m1.should be_verified
31
- @m2.should be_verified
30
+ expect(@m1).to be_verified
31
+ expect(@m2).to be_verified
32
32
  end
33
33
  it "resets all mocks within" do
34
34
  @space.add(m1 = double("mock1"))
@@ -40,11 +40,11 @@ module RSpec
40
40
  it "clears internal mocks on reset_all" do
41
41
  @space.add(double("mock"))
42
42
  @space.reset_all
43
- @space.instance_eval { receivers.empty? }.should be_true
43
+ expect(@space.instance_eval { receivers.empty? }).to be_true
44
44
  end
45
45
  it "resets the ordering" do
46
46
  @space.reset_all
47
- @space.expectation_ordering.should be_empty
47
+ expect(@space.expectation_ordering).to be_empty
48
48
  end
49
49
  it "only adds an instance once" do
50
50
  @space.add(m1 = double("mock1"))
@@ -7,11 +7,11 @@ module RSpec
7
7
  after(:each) { @double.rspec_reset }
8
8
 
9
9
  it "has method_missing as private" do
10
- RSpec::Mocks::Mock.private_instance_methods.should include_method(:method_missing)
10
+ expect(RSpec::Mocks::Mock.private_instance_methods).to include_method(:method_missing)
11
11
  end
12
12
 
13
13
  it "does not respond_to? method_missing (because it's private)" do
14
- RSpec::Mocks::Mock.new.should_not respond_to(:method_missing)
14
+ expect(RSpec::Mocks::Mock.new).not_to respond_to(:method_missing)
15
15
  end
16
16
 
17
17
  it "reports line number of expectation of unreceived message" do
@@ -21,7 +21,7 @@ module RSpec
21
21
  violated
22
22
  rescue RSpec::Mocks::MockExpectationError => e
23
23
  # NOTE - this regexp ended w/ $, but jruby adds extra info at the end of the line
24
- e.backtrace[0].should match(/#{File.basename(__FILE__)}:#{expected_error_line}/)
24
+ expect(e.backtrace[0]).to match(/#{File.basename(__FILE__)}:#{expected_error_line}/)
25
25
  end
26
26
  end
27
27
 
@@ -33,7 +33,7 @@ module RSpec
33
33
  violated
34
34
  rescue RSpec::Mocks::MockExpectationError => e
35
35
  # NOTE - this regexp ended w/ $, but jruby adds extra info at the end of the line
36
- e.backtrace[0].should match(/#{File.basename(__FILE__)}:#{expected_error_line}/)
36
+ expect(e.backtrace[0]).to match(/#{File.basename(__FILE__)}:#{expected_error_line}/)
37
37
  end
38
38
  end
39
39
 
@@ -43,7 +43,7 @@ module RSpec
43
43
  end
44
44
 
45
45
  it "warns when should_not_receive is followed by and_return" do
46
- RSpec.should_receive(:warn_deprecation).
46
+ RSpec::Mocks.should_receive(:warn_deprecation).
47
47
  with(/`and_return` with `should_not_receive` is deprecated/)
48
48
 
49
49
  @double.should_not_receive(:do_something).and_return(1)
@@ -86,64 +86,64 @@ module RSpec
86
86
 
87
87
  it "allows block to calculate return values" do
88
88
  @double.should_receive(:something).with("a","b","c").and_return { |a,b,c| c+b+a }
89
- @double.something("a","b","c").should eq "cba"
89
+ expect(@double.something("a","b","c")).to eq "cba"
90
90
  @double.rspec_verify
91
91
  end
92
92
 
93
93
  it "allows parameter as return value" do
94
94
  @double.should_receive(:something).with("a","b","c").and_return("booh")
95
- @double.something("a","b","c").should eq "booh"
95
+ expect(@double.something("a","b","c")).to eq "booh"
96
96
  @double.rspec_verify
97
97
  end
98
98
 
99
99
  it "returns the previously stubbed value if no return value is set" do
100
100
  @double.stub(:something).with("a","b","c").and_return(:stubbed_value)
101
101
  @double.should_receive(:something).with("a","b","c")
102
- @double.something("a","b","c").should eq :stubbed_value
102
+ expect(@double.something("a","b","c")).to eq :stubbed_value
103
103
  @double.rspec_verify
104
104
  end
105
105
 
106
106
  it "returns nil if no return value is set and there is no previously stubbed value" do
107
107
  @double.should_receive(:something).with("a","b","c")
108
- @double.something("a","b","c").should be_nil
108
+ expect(@double.something("a","b","c")).to be_nil
109
109
  @double.rspec_verify
110
110
  end
111
111
 
112
112
  it "raises exception if args don't match when method called" do
113
113
  @double.should_receive(:something).with("a","b","c").and_return("booh")
114
- lambda {
114
+ expect {
115
115
  @double.something("a","d","c")
116
116
  violated
117
- }.should raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :something with unexpected arguments\n expected: (\"a\", \"b\", \"c\")\n got: (\"a\", \"d\", \"c\")")
117
+ }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :something with unexpected arguments\n expected: (\"a\", \"b\", \"c\")\n got: (\"a\", \"d\", \"c\")")
118
118
  end
119
119
 
120
120
  describe "even when a similar expectation with different arguments exist" do
121
121
  it "raises exception if args don't match when method called, correctly reporting the offending arguments" do
122
122
  @double.should_receive(:something).with("a","b","c").once
123
123
  @double.should_receive(:something).with("z","x","c").once
124
- lambda {
124
+ expect {
125
125
  @double.something("a","b","c")
126
126
  @double.something("z","x","g")
127
- }.should raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :something with unexpected arguments\n expected: (\"z\", \"x\", \"c\")\n got: (\"z\", \"x\", \"g\")")
127
+ }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :something with unexpected arguments\n expected: (\"z\", \"x\", \"c\")\n got: (\"z\", \"x\", \"g\")")
128
128
  end
129
129
  end
130
130
 
131
131
  it "raises exception if args don't match when method called even when the method is stubbed" do
132
132
  @double.stub(:something)
133
133
  @double.should_receive(:something).with("a","b","c")
134
- lambda {
134
+ expect {
135
135
  @double.something("a","d","c")
136
136
  @double.rspec_verify
137
- }.should raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :something with unexpected arguments\n expected: (\"a\", \"b\", \"c\")\n got: (\"a\", \"d\", \"c\")")
137
+ }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :something with unexpected arguments\n expected: (\"a\", \"b\", \"c\")\n got: (\"a\", \"d\", \"c\")")
138
138
  end
139
139
 
140
140
  it "raises exception if args don't match when method called even when using null_object" do
141
141
  @double = double("test double").as_null_object
142
142
  @double.should_receive(:something).with("a","b","c")
143
- lambda {
143
+ expect {
144
144
  @double.something("a","d","c")
145
145
  @double.rspec_verify
146
- }.should raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :something with unexpected arguments\n expected: (\"a\", \"b\", \"c\")\n got: (\"a\", \"d\", \"c\")")
146
+ }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :something with unexpected arguments\n expected: (\"a\", \"b\", \"c\")\n got: (\"a\", \"d\", \"c\")")
147
147
  end
148
148
 
149
149
  describe 'with a method that has a default argument' do
@@ -159,24 +159,27 @@ module RSpec
159
159
  end
160
160
 
161
161
  it "fails if unexpected method called" do
162
- lambda {
162
+ expect {
163
163
  @double.something("a","b","c")
164
164
  violated
165
- }.should raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received unexpected message :something with (\"a\", \"b\", \"c\")")
165
+ }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received unexpected message :something with (\"a\", \"b\", \"c\")")
166
166
  end
167
167
 
168
168
  it "uses block for expectation if provided" do
169
169
  @double.should_receive(:something) do | a, b |
170
- a.should eq "a"
171
- b.should eq "b"
170
+ expect(a).to eq "a"
171
+ expect(b).to eq "b"
172
172
  "booh"
173
173
  end
174
- @double.something("a", "b").should eq "booh"
174
+ expect(@double.something("a", "b")).to eq "booh"
175
175
  @double.rspec_verify
176
176
  end
177
177
 
178
178
  it "fails if expectation block fails" do
179
- @double.should_receive(:something) {| bool | bool.should be_true}
179
+ @double.should_receive(:something) do |bool|
180
+ expect(bool).to be_true
181
+ end
182
+
180
183
  expect {
181
184
  @double.something false
182
185
  }.to raise_error(RSpec::Expectations::ExpectationNotMetError)
@@ -186,22 +189,22 @@ module RSpec
186
189
  it "passes proc to expectation block without an argument" do
187
190
  # We eval this because Ruby 1.8.6's syntax parser barfs on { |&block| ... }
188
191
  # and prevents the entire spec suite from running.
189
- eval("@double.should_receive(:foo) {|&block| block.call.should eq(:bar)}")
192
+ eval("@double.should_receive(:foo) {|&block| expect(block.call).to eq(:bar)}")
190
193
  @double.foo { :bar }
191
194
  end
192
195
 
193
196
  it "passes proc to expectation block with an argument" do
194
- eval("@double.should_receive(:foo) {|arg, &block| block.call.should eq(:bar)}")
197
+ eval("@double.should_receive(:foo) {|arg, &block| expect(block.call).to eq(:bar)}")
195
198
  @double.foo(:arg) { :bar }
196
199
  end
197
200
 
198
201
  it "passes proc to stub block without an argurment" do
199
- eval("@double.stub(:foo) {|&block| block.call.should eq(:bar)}")
202
+ eval("@double.stub(:foo) {|&block| expect(block.call).to eq(:bar)}")
200
203
  @double.foo { :bar }
201
204
  end
202
205
 
203
206
  it "passes proc to stub block with an argument" do
204
- eval("@double.stub(:foo) {|arg, &block| block.call.should eq(:bar)}")
207
+ eval("@double.stub(:foo) {|arg, &block| expect(block.call).to eq(:bar)}")
205
208
  @double.foo(:arg) { :bar }
206
209
  end
207
210
  end
@@ -254,23 +257,23 @@ module RSpec
254
257
  @double.something
255
258
  fail "OutOfGas was not raised"
256
259
  rescue OutOfGas => e
257
- e.amount.should == 2
258
- e.units.should == :oz
260
+ expect(e.amount).to eq 2
261
+ expect(e.units).to eq :oz
259
262
  end
260
263
  end
261
264
 
262
265
  it "does not raise when told to if args dont match" do
263
266
  @double.should_receive(:something).with(2).and_raise(RuntimeError)
264
- lambda {
267
+ expect {
265
268
  @double.something 1
266
- }.should raise_error(RSpec::Mocks::MockExpectationError)
269
+ }.to raise_error(RSpec::Mocks::MockExpectationError)
267
270
  end
268
271
 
269
272
  it "throws when told to" do
270
273
  @double.should_receive(:something).and_throw(:blech)
271
- lambda {
274
+ expect {
272
275
  @double.something
273
- }.should throw_symbol(:blech)
276
+ }.to throw_symbol(:blech)
274
277
  end
275
278
 
276
279
  it "ignores args on any args" do
@@ -284,21 +287,22 @@ module RSpec
284
287
 
285
288
  it "fails on no args if any args received" do
286
289
  @double.should_receive(:something).with(no_args())
287
- lambda {
290
+ expect {
288
291
  @double.something 1
289
- }.should raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :something with unexpected arguments\n expected: (no args)\n got: (1)")
292
+ }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :something with unexpected arguments\n expected: (no args)\n got: (1)")
290
293
  end
291
294
 
292
295
  it "fails when args are expected but none are received" do
293
296
  @double.should_receive(:something).with(1)
294
- lambda {
297
+ expect {
295
298
  @double.something
296
- }.should raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :something with unexpected arguments\n expected: (1)\n got: (no args)")
299
+ }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" received :something with unexpected arguments\n expected: (1)\n got: (no args)")
297
300
  end
298
301
 
299
302
  it "returns value from block by default" do
300
303
  @double.stub(:method_that_yields).and_yield
301
- @double.method_that_yields { :returned_obj }.should eq :returned_obj
304
+ value = @double.method_that_yields { :returned_obj }
305
+ expect(value).to eq :returned_obj
302
306
  @double.rspec_verify
303
307
  end
304
308
 
@@ -306,7 +310,7 @@ module RSpec
306
310
  @double.should_receive(:yield_back).with(no_args()).once.and_yield
307
311
  a = nil
308
312
  @double.yield_back {|*x| a = x}
309
- a.should eq []
313
+ expect(a).to eq []
310
314
  @double.rspec_verify
311
315
  end
312
316
 
@@ -315,7 +319,7 @@ module RSpec
315
319
  and_yield
316
320
  b = []
317
321
  @double.yield_back {|*a| b << a}
318
- b.should eq [ [], [] ]
322
+ expect(b).to eq [ [], [] ]
319
323
  @double.rspec_verify
320
324
  end
321
325
 
@@ -323,7 +327,7 @@ module RSpec
323
327
  @double.should_receive(:yield_back).with(no_args()).once.and_yield(99)
324
328
  a = nil
325
329
  @double.yield_back {|*x| a = x}
326
- a.should eq [99]
330
+ expect(a).to eq [99]
327
331
  @double.rspec_verify
328
332
  end
329
333
 
@@ -333,7 +337,7 @@ module RSpec
333
337
  and_yield("something fruity")
334
338
  b = []
335
339
  @double.yield_back {|*a| b << a}
336
- b.should eq [[99], [43], ["something fruity"]]
340
+ expect(b).to eq [[99], [43], ["something fruity"]]
337
341
  @double.rspec_verify
338
342
  end
339
343
 
@@ -341,7 +345,7 @@ module RSpec
341
345
  @double.should_receive(:yield_back).with(no_args()).once.and_yield(99, 27, "go")
342
346
  a = nil
343
347
  @double.yield_back {|*x| a = x}
344
- a.should eq [99, 27, "go"]
348
+ expect(a).to eq [99, 27, "go"]
345
349
  @double.rspec_verify
346
350
  end
347
351
 
@@ -351,7 +355,7 @@ module RSpec
351
355
  and_yield("stop", 12, :red)
352
356
  b = []
353
357
  @double.yield_back {|*a| b << a}
354
- b.should eq [[99, :green, "go"], ["wait", :amber], ["stop", 12, :red]]
358
+ expect(b).to eq [[99, :green, "go"], ["wait", :amber], ["stop", 12, :red]]
355
359
  @double.rspec_verify
356
360
  end
357
361
 
@@ -359,7 +363,7 @@ module RSpec
359
363
  @double.should_receive(:yield_back).with(no_args()).once.and_yield(99)
360
364
  a = nil
361
365
  @double.yield_back {|x| a = x}
362
- a.should eq 99
366
+ expect(a).to eq 99
363
367
  @double.rspec_verify
364
368
  end
365
369
 
@@ -369,7 +373,7 @@ module RSpec
369
373
  and_yield("something fruity")
370
374
  b = []
371
375
  @double.yield_back {|a| b << a}
372
- b.should eq [99, 43, "something fruity"]
376
+ expect(b).to eq [99, 43, "something fruity"]
373
377
  @double.rspec_verify
374
378
  end
375
379
 
@@ -377,8 +381,8 @@ module RSpec
377
381
  @double.should_receive(:yield_back).with(no_args()).once.and_yield('wha', 'zup')
378
382
  a, b = nil
379
383
  @double.yield_back {|x,y| a=x; b=y}
380
- a.should eq 'wha'
381
- b.should eq 'zup'
384
+ expect(a).to eq 'wha'
385
+ expect(b).to eq 'zup'
382
386
  @double.rspec_verify
383
387
  end
384
388
 
@@ -388,32 +392,32 @@ module RSpec
388
392
  and_yield(14, 65)
389
393
  c = []
390
394
  @double.yield_back {|a,b| c << [a, b]}
391
- c.should eq [['wha', 'zup'], ['not', 'down'], [14, 65]]
395
+ expect(c).to eq [['wha', 'zup'], ['not', 'down'], [14, 65]]
392
396
  @double.rspec_verify
393
397
  end
394
398
 
395
399
  it "fails when calling yielding method with wrong arity" do
396
400
  @double.should_receive(:yield_back).with(no_args()).once.and_yield('wha', 'zup')
397
- lambda {
401
+ expect {
398
402
  @double.yield_back {|a|}
399
- }.should raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" yielded |\"wha\", \"zup\"| to block with arity of 1")
403
+ }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" yielded |\"wha\", \"zup\"| to block with arity of 1")
400
404
  end
401
405
 
402
406
  it "fails when calling yielding method consecutively with wrong arity" do
403
407
  @double.should_receive(:yield_back).once.with(no_args()).once.and_yield('wha', 'zup').
404
408
  and_yield('down').
405
409
  and_yield(14, 65)
406
- lambda {
410
+ expect {
407
411
  c = []
408
412
  @double.yield_back {|a,b| c << [a, b]}
409
- }.should raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" yielded |\"down\"| to block with arity of 2")
413
+ }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" yielded |\"down\"| to block with arity of 2")
410
414
  end
411
415
 
412
416
  it "fails when calling yielding method without block" do
413
417
  @double.should_receive(:yield_back).with(no_args()).once.and_yield('wha', 'zup')
414
- lambda {
418
+ expect {
415
419
  @double.yield_back
416
- }.should raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" asked to yield |[\"wha\", \"zup\"]| but no block was passed")
420
+ }.to raise_error(RSpec::Mocks::MockExpectationError, "Double \"test double\" asked to yield |[\"wha\", \"zup\"]| but no block was passed")
417
421
  end
418
422
 
419
423
  it "is able to double send" do
@@ -425,11 +429,11 @@ module RSpec
425
429
  it "is able to raise from method calling yielding double" do
426
430
  @double.should_receive(:yield_me).and_yield 44
427
431
 
428
- lambda {
432
+ expect {
429
433
  @double.yield_me do |x|
430
434
  raise "Bang"
431
435
  end
432
- }.should raise_error(StandardError, "Bang")
436
+ }.to raise_error(StandardError, "Bang")
433
437
 
434
438
  @double.rspec_verify
435
439
  end
@@ -438,9 +442,9 @@ module RSpec
438
442
  @double.should_receive(:foobar)
439
443
  @double.foobar
440
444
  @double.rspec_verify
441
- lambda {
445
+ expect {
442
446
  @double.foobar
443
- }.should raise_error(RSpec::Mocks::MockExpectationError, %q|Double "test double" received unexpected message :foobar with (no args)|)
447
+ }.to raise_error(RSpec::Mocks::MockExpectationError, %q|Double "test double" received unexpected message :foobar with (no args)|)
444
448
  end
445
449
 
446
450
  it "restores objects to their original state on rspec_reset" do
@@ -475,25 +479,25 @@ module RSpec
475
479
  @double.foobar
476
480
  @double.rspec_verify
477
481
 
478
- lambda { @double.foobar }.should_not raise_error(NameError)
479
- lambda { @double.foobar }.should raise_error(RSpec::Mocks::MockExpectationError)
482
+ expect { @double.foobar }.to_not raise_error(NameError)
483
+ expect { @double.foobar }.to raise_error(RSpec::Mocks::MockExpectationError)
480
484
  end
481
485
 
482
486
  it "temporarily replaces a method stub on a double" do
483
487
  @double.stub(:msg).and_return(:stub_value)
484
488
  @double.should_receive(:msg).with(:arg).and_return(:double_value)
485
- @double.msg(:arg).should equal(:double_value)
486
- @double.msg.should equal(:stub_value)
487
- @double.msg.should equal(:stub_value)
489
+ expect(@double.msg(:arg)).to equal(:double_value)
490
+ expect(@double.msg).to equal(:stub_value)
491
+ expect(@double.msg).to equal(:stub_value)
488
492
  @double.rspec_verify
489
493
  end
490
494
 
491
495
  it "does not require a different signature to replace a method stub" do
492
496
  @double.stub(:msg).and_return(:stub_value)
493
497
  @double.should_receive(:msg).and_return(:double_value)
494
- @double.msg(:arg).should equal(:double_value)
495
- @double.msg.should equal(:stub_value)
496
- @double.msg.should equal(:stub_value)
498
+ expect(@double.msg(:arg)).to equal(:double_value)
499
+ expect(@double.msg).to equal(:stub_value)
500
+ expect(@double.msg).to equal(:stub_value)
497
501
  @double.rspec_verify
498
502
  end
499
503
 
@@ -507,31 +511,31 @@ module RSpec
507
511
  non_double = Object.new
508
512
  non_double.stub(:msg).and_return(:stub_value)
509
513
  non_double.should_receive(:msg).with(:arg).and_return(:double_value)
510
- non_double.msg(:arg).should equal(:double_value)
511
- non_double.msg.should equal(:stub_value)
512
- non_double.msg.should equal(:stub_value)
514
+ expect(non_double.msg(:arg)).to equal(:double_value)
515
+ expect(non_double.msg).to equal(:stub_value)
516
+ expect(non_double.msg).to equal(:stub_value)
513
517
  non_double.rspec_verify
514
518
  end
515
519
 
516
520
  it "returns the stubbed value when no new value specified" do
517
521
  @double.stub(:msg).and_return(:stub_value)
518
522
  @double.should_receive(:msg)
519
- @double.msg.should equal(:stub_value)
523
+ expect(@double.msg).to equal(:stub_value)
520
524
  @double.rspec_verify
521
525
  end
522
526
 
523
527
  it "returns the stubbed value when stubbed with args and no new value specified" do
524
528
  @double.stub(:msg).with(:arg).and_return(:stub_value)
525
529
  @double.should_receive(:msg).with(:arg)
526
- @double.msg(:arg).should equal(:stub_value)
530
+ expect(@double.msg(:arg)).to equal(:stub_value)
527
531
  @double.rspec_verify
528
532
  end
529
533
 
530
534
  it "does not mess with the stub's yielded values when also doubleed" do
531
535
  @double.stub(:yield_back).and_yield(:stub_value)
532
536
  @double.should_receive(:yield_back).and_yield(:double_value)
533
- @double.yield_back{|v| v.should eq :double_value }
534
- @double.yield_back{|v| v.should eq :stub_value }
537
+ @double.yield_back{|v| expect(v).to eq :double_value }
538
+ @double.yield_back{|v| expect(v).to eq :stub_value }
535
539
  @double.rspec_verify
536
540
  end
537
541
 
@@ -540,14 +544,14 @@ module RSpec
540
544
  File.should_receive(:open).and_yield(:first_call).and_yield(:second_call)
541
545
  yielded_args = []
542
546
  File.open {|v| yielded_args << v }
543
- yielded_args.should eq [:first_call, :second_call]
544
- File.open {|v| v.should eq :stub_value }
547
+ expect(yielded_args).to eq [:first_call, :second_call]
548
+ File.open {|v| expect(v).to eq :stub_value }
545
549
  File.rspec_verify
546
550
  end
547
551
 
548
552
  it "assigns stub return values" do
549
553
  double = RSpec::Mocks::Mock.new('name', :message => :response)
550
- double.message.should eq :response
554
+ expect(double.message).to eq :response
551
555
  end
552
556
 
553
557
  end
@@ -567,7 +571,7 @@ module RSpec
567
571
 
568
572
  @double.foo
569
573
 
570
- @calls.should eq 1
574
+ expect(@calls).to eq 1
571
575
  end
572
576
 
573
577
  it "calls the block after #should_receive after a similar stub" do
@@ -576,7 +580,7 @@ module RSpec
576
580
 
577
581
  @double.foo
578
582
 
579
- @calls.should eq 1
583
+ expect(@calls).to eq 1
580
584
  end
581
585
 
582
586
  it "calls the block after #once" do
@@ -584,7 +588,7 @@ module RSpec
584
588
 
585
589
  @double.foo
586
590
 
587
- @calls.should eq 1
591
+ expect(@calls).to eq 1
588
592
  end
589
593
 
590
594
  it "calls the block after #twice" do
@@ -593,7 +597,7 @@ module RSpec
593
597
  @double.foo
594
598
  @double.foo
595
599
 
596
- @calls.should eq 2
600
+ expect(@calls).to eq 2
597
601
  end
598
602
 
599
603
  it "calls the block after #times" do
@@ -601,7 +605,7 @@ module RSpec
601
605
 
602
606
  (1..10).each { @double.foo }
603
607
 
604
- @calls.should eq 10
608
+ expect(@calls).to eq 10
605
609
  end
606
610
 
607
611
  it "calls the block after #any_number_of_times" do
@@ -609,7 +613,7 @@ module RSpec
609
613
 
610
614
  (1..7).each { @double.foo }
611
615
 
612
- @calls.should eq 7
616
+ expect(@calls).to eq 7
613
617
  end
614
618
 
615
619
  it "calls the block after #ordered" do
@@ -619,7 +623,7 @@ module RSpec
619
623
  @double.foo
620
624
  @double.bar
621
625
 
622
- @calls.should eq 2
626
+ expect(@calls).to eq 2
623
627
  end
624
628
  end
625
629
 
@@ -627,14 +631,14 @@ module RSpec
627
631
  it 'does not contain < because that might lead to invalid HTML in some situations' do
628
632
  double = double("Dog")
629
633
  valid_html_str = "#{double}"
630
- valid_html_str.should_not include('<')
634
+ expect(valid_html_str).not_to include('<')
631
635
  end
632
636
  end
633
637
 
634
638
  describe "string representation generated by #to_str" do
635
639
  it "looks the same as #to_s" do
636
640
  double = double("Foo")
637
- double.to_str.should eq double.to_s
641
+ expect(double.to_str).to eq double.to_s
638
642
  end
639
643
  end
640
644
 
@@ -646,8 +650,8 @@ module RSpec
646
650
 
647
651
  it "does respond to initially stubbed methods" do
648
652
  double = double(:foo => "woo", :bar => "car")
649
- double.foo.should eq "woo"
650
- double.bar.should eq "car"
653
+ expect(double.foo).to eq "woo"
654
+ expect(double.bar).to eq "car"
651
655
  end
652
656
  end
653
657
 
@@ -710,7 +714,7 @@ module RSpec
710
714
  context "with matching args" do
711
715
  it "returns the result of the block" do
712
716
  @double.should_receive(:foo).with('bar') { 'baz' }
713
- @double.foo('bar').should eq('baz')
717
+ expect(@double.foo('bar')).to eq('baz')
714
718
  end
715
719
  end
716
720
 
@@ -718,7 +722,7 @@ module RSpec
718
722
  it "fails" do
719
723
  @double.should_receive(:foo).with('bar') { 'baz' }
720
724
  expect do
721
- @double.foo('wrong').should eq('baz')
725
+ expect(@double.foo('wrong')).to eq('baz')
722
726
  end.to raise_error(/received :foo with unexpected arguments/)
723
727
  @double.rspec_reset
724
728
  end