| |   |
| 3 | 3 | class Mock |
| 4 | 4 | include Methods |
| 5 | 5 | |
| 6 | | # Creates a new mock with a +name+ (that will be used in error messages only) |
| 7 | | # == Options: |
| 8 | | # * <tt>:null_object</tt> - if true, the mock object acts as a forgiving null object allowing any message to be sent to it. |
| 6 | # Creates a new mock with a +name+ (that will be used in error messages |
| 7 | # only) == Options: |
| 8 | # * <tt>:null_object</tt> - if true, the mock object acts as a forgiving |
| 9 | # null object allowing any message to be sent to it. |
| 9 | 10 | def initialize(name, stubs_and_options={}) |
| 10 | 11 | @name = name |
| 11 | 12 | @options = parse_options(stubs_and_options) |
| 12 | 13 | assign_stubs(stubs_and_options) |
| 13 | 14 | end |
| 14 | 15 | |
| 15 | | # This allows for comparing the mock to other objects that proxy |
| 16 | | # such as ActiveRecords belongs_to proxy objects |
| 17 | | # By making the other object run the comparison, we're sure the call gets delegated to the proxy target |
| 18 | | # This is an unfortunate side effect from ActiveRecord, but this should be safe unless the RHS redefines == in a nonsensical manner |
| 16 | # This allows for comparing the mock to other objects that proxy such as |
| 17 | # ActiveRecords belongs_to proxy objects By making the other object run |
| 18 | # the comparison, we're sure the call gets delegated to the proxy target |
| 19 | # This is an unfortunate side effect from ActiveRecord, but this should |
| 20 | # be safe unless the RHS redefines == in a nonsensical manner |
| 19 | 21 | def ==(other) |
| 20 | 22 | other == __mock_proxy |
| 21 | 23 | end |
| toggle raw diff |
--- a/rspec/lib/spec/mocks/mock.rb
+++ b/rspec/lib/spec/mocks/mock.rb
@@ -3,19 +3,21 @@ module Spec
class Mock
include Methods
- # Creates a new mock with a +name+ (that will be used in error messages only)
- # == Options:
- # * <tt>:null_object</tt> - if true, the mock object acts as a forgiving null object allowing any message to be sent to it.
+ # Creates a new mock with a +name+ (that will be used in error messages
+ # only) == Options:
+ # * <tt>:null_object</tt> - if true, the mock object acts as a forgiving
+ # null object allowing any message to be sent to it.
def initialize(name, stubs_and_options={})
@name = name
@options = parse_options(stubs_and_options)
assign_stubs(stubs_and_options)
end
- # This allows for comparing the mock to other objects that proxy
- # such as ActiveRecords belongs_to proxy objects
- # By making the other object run the comparison, we're sure the call gets delegated to the proxy target
- # This is an unfortunate side effect from ActiveRecord, but this should be safe unless the RHS redefines == in a nonsensical manner
+ # This allows for comparing the mock to other objects that proxy such as
+ # ActiveRecords belongs_to proxy objects By making the other object run
+ # the comparison, we're sure the call gets delegated to the proxy target
+ # This is an unfortunate side effect from ActiveRecord, but this should
+ # be safe unless the RHS redefines == in a nonsensical manner
def ==(other)
other == __mock_proxy
end |
| |   |
| 37 | 37 | |
| 38 | 38 | it "should fail when receiving message specified as not to be received" do |
| 39 | 39 | @mock.should_not_receive(:not_expected) |
| 40 | | @mock.not_expected |
| 41 | 40 | lambda { |
| 42 | | @mock.rspec_verify |
| 41 | @mock.not_expected |
| 43 | 42 | violated |
| 44 | | }.should raise_error(MockExpectationError, "Mock 'test mock' expected :not_expected with (any args) 0 times, but received it once") |
| 43 | }.should raise_error(MockExpectationError, "Mock 'test mock' expected :not_expected with (no args) 0 times, but received it once") |
| 45 | 44 | end |
| 46 | 45 | |
| 47 | 46 | it "should fail when receiving message specified as not to be received with args" do |
| 48 | 47 | @mock.should_not_receive(:not_expected).with("unexpected text") |
| 49 | | @mock.not_expected("unexpected text") |
| 50 | 48 | lambda { |
| 51 | | @mock.rspec_verify |
| 49 | @mock.not_expected("unexpected text") |
| 52 | 50 | violated |
| 53 | 51 | }.should raise_error(MockExpectationError, "Mock 'test mock' expected :not_expected with (\"unexpected text\") 0 times, but received it once") |
| 54 | 52 | end |
| … | … | |
| 108 | 108 | end |
| 109 | 109 | |
| 110 | 110 | it "should fail right away when method defined as never is received" do |
| 111 | | pending "Used to pass (false positive). Which one is wrong, the spec or the actual behavior?" |
| 112 | | |
| 113 | 111 | @mock.should_receive(:not_expected).never |
| 114 | 112 | lambda { |
| 115 | 113 | @mock.not_expected |
| 116 | | }.should raise_error(MockExpectationError, "Mock 'test mock' expected :not_expected 0 times, but received it 1 times") |
| 114 | }.should raise_error(MockExpectationError, "Mock 'test mock' expected :not_expected with (no args) 0 times, but received it once") |
| 117 | 115 | end |
| 118 | 116 | |
| 119 | 117 | it "should eventually fail when method defined as never is received" do |
| 120 | 118 | @mock.should_receive(:not_expected).never |
| 121 | | @mock.not_expected |
| 122 | | |
| 123 | 119 | lambda { |
| 124 | | @mock.rspec_verify |
| 125 | | }.should raise_error(MockExpectationError, "Mock 'test mock' expected :not_expected with (any args) 0 times, but received it once") |
| 120 | @mock.not_expected |
| 121 | }.should raise_error(MockExpectationError, "Mock 'test mock' expected :not_expected with (no args) 0 times, but received it once") |
| 126 | 122 | end |
| 127 | | |
| 123 | |
| 128 | 124 | it "should raise when told to" do |
| 129 | 125 | @mock.should_receive(:something).and_raise(RuntimeError) |
| 130 | 126 | lambda do |
| … | … | |
| 180 | 180 | @mock.something 1 |
| 181 | 181 | }.should raise_error(MockExpectationError, "Mock 'test mock' expected :something with (no args) but received it with (1)") |
| 182 | 182 | end |
| 183 | | |
| 183 | |
| 184 | 184 | it "should fail when args are expected but none are received" do |
| 185 | 185 | @mock.should_receive(:something).with(1) |
| 186 | 186 | lambda { |
| 187 | 187 | @mock.something |
| 188 | 188 | }.should raise_error(MockExpectationError, "Mock 'test mock' expected :something with (1) but received it with (no args)") |
| 189 | 189 | end |
| 190 | | |
| 190 | |
| 191 | 191 | it "should return value from block by default" do |
| 192 | 192 | @mock.stub!(:method_that_yields).and_yield |
| 193 | 193 | @mock.method_that_yields { :returned_obj }.should == :returned_obj |
| 194 | 194 | @mock.rspec_verify |
| 195 | 195 | end |
| 196 | | |
| 196 | |
| 197 | 197 | it "should yield 0 args to blocks that take a variable number of arguments" do |
| 198 | 198 | @mock.should_receive(:yield_back).with(no_args()).once.and_yield |
| 199 | 199 | a = nil |
| … | … | |
| 238 | 238 | a.should == [99, 27, "go"] |
| 239 | 239 | @mock.rspec_verify |
| 240 | 240 | end |
| 241 | | |
| 241 | |
| 242 | 242 | it "should yield many args 3 times consecutively to blocks that take a variable number of arguments" do |
| 243 | 243 | @mock.should_receive(:yield_back).once.with(no_args()).once.and_yield(99, :green, "go"). |
| 244 | 244 | and_yield("wait", :amber). |
| … | … | |
| 347 | 347 | mock.rspec_reset |
| 348 | 348 | mock.rspec_verify #should throw if reset didn't work |
| 349 | 349 | end |
| 350 | | |
| 350 | |
| 351 | 351 | it "should work even after method_missing starts raising NameErrors instead of NoMethodErrors" do |
| 352 | 352 | # Object#method_missing throws either NameErrors or NoMethodErrors. |
| 353 | 353 | # |
| … | … | |
| 376 | 376 | lambda { @mock.foobar }.should_not raise_error(NameError) |
| 377 | 377 | lambda { @mock.foobar }.should raise_error(MockExpectationError) |
| 378 | 378 | end |
| 379 | | |
| 379 | |
| 380 | 380 | it "should temporarily replace a method stub on a mock" do |
| 381 | 381 | @mock.stub!(:msg).and_return(:stub_value) |
| 382 | 382 | @mock.should_receive(:msg).with(:arg).and_return(:mock_value) |
| … | … | |
| 385 | 385 | @mock.msg.should equal(:stub_value) |
| 386 | 386 | @mock.rspec_verify |
| 387 | 387 | end |
| 388 | | |
| 388 | |
| 389 | 389 | it "should temporarily replace a method stub on a non-mock" do |
| 390 | 390 | non_mock = Object.new |
| 391 | 391 | non_mock.stub!(:msg).and_return(:stub_value) |
| … | … | |
| 401 | 401 | mock.message.should == :response |
| 402 | 402 | end |
| 403 | 403 | end |
| 404 | | |
| 404 | |
| 405 | 405 | describe "a mock message receiving a block" do |
| 406 | 406 | before(:each) do |
| 407 | 407 | @mock = mock("mock") |
| … | … | |
| 414 | 414 | |
| 415 | 415 | it "should call the block after #should_receive" do |
| 416 | 416 | @mock.should_receive(:foo) { add_call } |
| 417 | | |
| 417 | |
| 418 | 418 | @mock.foo |
| 419 | | |
| 419 | |
| 420 | 420 | @calls.should == 1 |
| 421 | 421 | end |
| 422 | | |
| 422 | |
| 423 | 423 | it "should call the block after #once" do |
| 424 | 424 | @mock.should_receive(:foo).once { add_call } |
| 425 | | |
| 425 | |
| 426 | 426 | @mock.foo |
| 427 | | |
| 427 | |
| 428 | 428 | @calls.should == 1 |
| 429 | 429 | end |
| 430 | | |
| 430 | |
| 431 | 431 | it "should call the block after #twice" do |
| 432 | 432 | @mock.should_receive(:foo).twice { add_call } |
| 433 | | |
| 433 | |
| 434 | 434 | @mock.foo |
| 435 | 435 | @mock.foo |
| 436 | | |
| 436 | |
| 437 | 437 | @calls.should == 2 |
| 438 | 438 | end |
| 439 | | |
| 439 | |
| 440 | 440 | it "should call the block after #times" do |
| 441 | 441 | @mock.should_receive(:foo).exactly(10).times { add_call } |
| 442 | 442 | |
| 443 | 443 | (1..10).each { @mock.foo } |
| 444 | | |
| 444 | |
| 445 | 445 | @calls.should == 10 |
| 446 | 446 | end |
| 447 | | |
| 447 | |
| 448 | 448 | it "should call the block after #any_number_of_times" do |
| 449 | 449 | @mock.should_receive(:foo).any_number_of_times { add_call } |
| 450 | 450 | |
| 451 | 451 | (1..7).each { @mock.foo } |
| 452 | | |
| 452 | |
| 453 | 453 | @calls.should == 7 |
| 454 | 454 | end |
| 455 | | |
| 455 | |
| 456 | 456 | it "should call the block after #with" do |
| 457 | 457 | @mock.should_receive(:foo).with(:arg) { add_call } |
| 458 | 458 | |
| 459 | 459 | @mock.foo(:arg) |
| 460 | | |
| 460 | |
| 461 | 461 | @calls.should == 1 |
| 462 | 462 | end |
| 463 | | |
| 463 | |
| 464 | 464 | it "should call the block after #ordered" do |
| 465 | 465 | @mock.should_receive(:foo).ordered { add_call } |
| 466 | 466 | @mock.should_receive(:bar).ordered { add_call } |
| 467 | 467 | |
| 468 | 468 | @mock.foo |
| 469 | 469 | @mock.bar |
| 470 | | |
| 470 | |
| 471 | 471 | @calls.should == 2 |
| 472 | 472 | end |
| 473 | 473 | end |
| toggle raw diff |
--- a/rspec/spec/spec/mocks/mock_spec.rb
+++ b/rspec/spec/spec/mocks/mock_spec.rb
@@ -37,18 +37,16 @@ module Spec
it "should fail when receiving message specified as not to be received" do
@mock.should_not_receive(:not_expected)
- @mock.not_expected
lambda {
- @mock.rspec_verify
+ @mock.not_expected
violated
- }.should raise_error(MockExpectationError, "Mock 'test mock' expected :not_expected with (any args) 0 times, but received it once")
+ }.should raise_error(MockExpectationError, "Mock 'test mock' expected :not_expected with (no args) 0 times, but received it once")
end
it "should fail when receiving message specified as not to be received with args" do
@mock.should_not_receive(:not_expected).with("unexpected text")
- @mock.not_expected("unexpected text")
lambda {
- @mock.rspec_verify
+ @mock.not_expected("unexpected text")
violated
}.should raise_error(MockExpectationError, "Mock 'test mock' expected :not_expected with (\"unexpected text\") 0 times, but received it once")
end
@@ -110,23 +108,19 @@ module Spec
end
it "should fail right away when method defined as never is received" do
- pending "Used to pass (false positive). Which one is wrong, the spec or the actual behavior?"
-
@mock.should_receive(:not_expected).never
lambda {
@mock.not_expected
- }.should raise_error(MockExpectationError, "Mock 'test mock' expected :not_expected 0 times, but received it 1 times")
+ }.should raise_error(MockExpectationError, "Mock 'test mock' expected :not_expected with (no args) 0 times, but received it once")
end
it "should eventually fail when method defined as never is received" do
@mock.should_receive(:not_expected).never
- @mock.not_expected
-
lambda {
- @mock.rspec_verify
- }.should raise_error(MockExpectationError, "Mock 'test mock' expected :not_expected with (any args) 0 times, but received it once")
+ @mock.not_expected
+ }.should raise_error(MockExpectationError, "Mock 'test mock' expected :not_expected with (no args) 0 times, but received it once")
end
-
+
it "should raise when told to" do
@mock.should_receive(:something).and_raise(RuntimeError)
lambda do
@@ -186,20 +180,20 @@ module Spec
@mock.something 1
}.should raise_error(MockExpectationError, "Mock 'test mock' expected :something with (no args) but received it with (1)")
end
-
+
it "should fail when args are expected but none are received" do
@mock.should_receive(:something).with(1)
lambda {
@mock.something
}.should raise_error(MockExpectationError, "Mock 'test mock' expected :something with (1) but received it with (no args)")
end
-
+
it "should return value from block by default" do
@mock.stub!(:method_that_yields).and_yield
@mock.method_that_yields { :returned_obj }.should == :returned_obj
@mock.rspec_verify
end
-
+
it "should yield 0 args to blocks that take a variable number of arguments" do
@mock.should_receive(:yield_back).with(no_args()).once.and_yield
a = nil
@@ -244,7 +238,7 @@ module Spec
a.should == [99, 27, "go"]
@mock.rspec_verify
end
-
+
it "should yield many args 3 times consecutively to blocks that take a variable number of arguments" do
@mock.should_receive(:yield_back).once.with(no_args()).once.and_yield(99, :green, "go").
and_yield("wait", :amber).
@@ -353,7 +347,7 @@ module Spec
mock.rspec_reset
mock.rspec_verify #should throw if reset didn't work
end
-
+
it "should work even after method_missing starts raising NameErrors instead of NoMethodErrors" do
# Object#method_missing throws either NameErrors or NoMethodErrors.
#
@@ -382,7 +376,7 @@ module Spec
lambda { @mock.foobar }.should_not raise_error(NameError)
lambda { @mock.foobar }.should raise_error(MockExpectationError)
end
-
+
it "should temporarily replace a method stub on a mock" do
@mock.stub!(:msg).and_return(:stub_value)
@mock.should_receive(:msg).with(:arg).and_return(:mock_value)
@@ -391,7 +385,7 @@ module Spec
@mock.msg.should equal(:stub_value)
@mock.rspec_verify
end
-
+
it "should temporarily replace a method stub on a non-mock" do
non_mock = Object.new
non_mock.stub!(:msg).and_return(:stub_value)
@@ -407,7 +401,7 @@ module Spec
mock.message.should == :response
end
end
-
+
describe "a mock message receiving a block" do
before(:each) do
@mock = mock("mock")
@@ -420,60 +414,60 @@ module Spec
it "should call the block after #should_receive" do
@mock.should_receive(:foo) { add_call }
-
+
@mock.foo
-
+
@calls.should == 1
end
-
+
it "should call the block after #once" do
@mock.should_receive(:foo).once { add_call }
-
+
@mock.foo
-
+
@calls.should == 1
end
-
+
it "should call the block after #twice" do
@mock.should_receive(:foo).twice { add_call }
-
+
@mock.foo
@mock.foo
-
+
@calls.should == 2
end
-
+
it "should call the block after #times" do
@mock.should_receive(:foo).exactly(10).times { add_call }
(1..10).each { @mock.foo }
-
+
@calls.should == 10
end
-
+
it "should call the block after #any_number_of_times" do
@mock.should_receive(:foo).any_number_of_times { add_call }
(1..7).each { @mock.foo }
-
+
@calls.should == 7
end
-
+
it "should call the block after #with" do
@mock.should_receive(:foo).with(:arg) { add_call }
@mock.foo(:arg)
-
+
@calls.should == 1
end
-
+
it "should call the block after #ordered" do
@mock.should_receive(:foo).ordered { add_call }
@mock.should_receive(:bar).ordered { add_call }
@mock.foo
@mock.bar
-
+
@calls.should == 2
end
end |
| |   |
| 189 | 189 | <div class="failure" id="failure_1"> |
| 190 | 190 | <div class="message"><pre>Mock 'poke me' expected :poke with (any args) once, but received it 0 times</pre></div> |
| 191 | 191 | <div class="backtrace"><pre>./failing_examples/mocking_example.rb:13: |
| 192 | | ./spec/spec/runner/formatter/html_formatter_spec.rb:28: |
| 193 | | ./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `chdir' |
| 194 | | ./spec/spec/runner/formatter/html_formatter_spec.rb:24:</pre></div> |
| 192 | ./spec/spec/runner/formatter/html_formatter_spec.rb:25: |
| 193 | ./spec/spec/runner/formatter/html_formatter_spec.rb:21:in `chdir' |
| 194 | ./spec/spec/runner/formatter/html_formatter_spec.rb:21:</pre></div> |
| 195 | 195 | <pre class="ruby"><code><span class="linenum">11</span> <span class="ident">it</span> <span class="punct">"</span><span class="string">should fail when expected message not received</span><span class="punct">"</span> <span class="keyword">do</span> |
| 196 | 196 | <span class="linenum">12</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">("</span><span class="string">poke me</span><span class="punct">")</span> |
| 197 | 197 | <span class="offending"><span class="linenum">13</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_receive</span><span class="punct">(</span><span class="symbol">:poke</span><span class="punct">)</span></span> |
| … | … | |
| 205 | 205 | <div class="failure" id="failure_2"> |
| 206 | 206 | <div class="message"><pre>Mock 'one two three' received :three out of order</pre></div> |
| 207 | 207 | <div class="backtrace"><pre>./failing_examples/mocking_example.rb:22: |
| 208 | | ./spec/spec/runner/formatter/html_formatter_spec.rb:28: |
| 209 | | ./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `chdir' |
| 210 | | ./spec/spec/runner/formatter/html_formatter_spec.rb:24:</pre></div> |
| 208 | ./spec/spec/runner/formatter/html_formatter_spec.rb:25: |
| 209 | ./spec/spec/runner/formatter/html_formatter_spec.rb:21:in `chdir' |
| 210 | ./spec/spec/runner/formatter/html_formatter_spec.rb:21:</pre></div> |
| 211 | 211 | <pre class="ruby"><code><span class="linenum">20</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_receive</span><span class="punct">(</span><span class="symbol">:three</span><span class="punct">).</span><span class="ident">ordered</span> |
| 212 | 212 | <span class="linenum">21</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">one</span> |
| 213 | 213 | <span class="offending"><span class="linenum">22</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">three</span></span> |
| … | … | |
| 219 | 219 | <dd class="spec failed"> |
| 220 | 220 | <span class="failed_spec_name">should get yelled at when sending unexpected messages</span> |
| 221 | 221 | <div class="failure" id="failure_3"> |
| 222 | | <div class="message"><pre>Mock 'don't talk to me' expected :any_message_at_all with (any args) 0 times, but received it once</pre></div> |
| 223 | | <div class="backtrace"><pre>./failing_examples/mocking_example.rb:28: |
| 224 | | ./spec/spec/runner/formatter/html_formatter_spec.rb:28: |
| 225 | | ./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `chdir' |
| 226 | | ./spec/spec/runner/formatter/html_formatter_spec.rb:24:</pre></div> |
| 227 | | <pre class="ruby"><code><span class="linenum">26</span> <span class="ident">it</span> <span class="punct">"</span><span class="string">should get yelled at when sending unexpected messages</span><span class="punct">"</span> <span class="keyword">do</span> |
| 228 | | <span class="linenum">27</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">("</span><span class="string">don't talk to me</span><span class="punct">")</span> |
| 229 | | <span class="offending"><span class="linenum">28</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_not_receive</span><span class="punct">(</span><span class="symbol">:any_message_at_all</span><span class="punct">)</span></span> |
| 230 | | <span class="linenum">29</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">any_message_at_all</span> |
| 222 | <div class="message"><pre>Mock 'don't talk to me' expected :any_message_at_all with (no args) 0 times, but received it once</pre></div> |
| 223 | <div class="backtrace"><pre>./failing_examples/mocking_example.rb:29: |
| 224 | ./spec/spec/runner/formatter/html_formatter_spec.rb:25: |
| 225 | ./spec/spec/runner/formatter/html_formatter_spec.rb:21:in `chdir' |
| 226 | ./spec/spec/runner/formatter/html_formatter_spec.rb:21:</pre></div> |
| 227 | <pre class="ruby"><code><span class="linenum">27</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">("</span><span class="string">don't talk to me</span><span class="punct">")</span> |
| 228 | <span class="linenum">28</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_not_receive</span><span class="punct">(</span><span class="symbol">:any_message_at_all</span><span class="punct">)</span> |
| 229 | <span class="offending"><span class="linenum">29</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">any_message_at_all</span></span> |
| 231 | 230 | <span class="linenum">30</span> <span class="keyword">end</span></code></pre> |
| 232 | 231 | </div> |
| 233 | 232 | </dd> |
| … | … | |
| 236 | 236 | <div class="failure" id="failure_4"> |
| 237 | 237 | <div class="message"><pre>Expected pending 'here is the bug' to fail. No Error was raised.</pre></div> |
| 238 | 238 | <div class="backtrace"><pre>./failing_examples/mocking_example.rb:33: |
| 239 | | ./spec/spec/runner/formatter/html_formatter_spec.rb:28: |
| 240 | | ./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `chdir' |
| 241 | | ./spec/spec/runner/formatter/html_formatter_spec.rb:24:</pre></div> |
| 239 | ./spec/spec/runner/formatter/html_formatter_spec.rb:25: |
| 240 | ./spec/spec/runner/formatter/html_formatter_spec.rb:21:in `chdir' |
| 241 | ./spec/spec/runner/formatter/html_formatter_spec.rb:21:</pre></div> |
| 242 | 242 | <pre class="ruby"><code><span class="linenum">31</span> |
| 243 | 243 | <span class="linenum">32</span> <span class="ident">it</span> <span class="punct">"</span><span class="string">has a bug we need to fix</span><span class="punct">"</span> <span class="keyword">do</span> |
| 244 | 244 | <span class="offending"><span class="linenum">33</span> <span class="ident">pending</span> <span class="punct">"</span><span class="string">here is the bug</span><span class="punct">"</span> <span class="keyword">do</span></span> |
| … | … | |
| 266 | 266 | framework for Ruby |
| 267 | 267 | </pre></div> |
| 268 | 268 | <div class="backtrace"><pre>./failing_examples/diffing_spec.rb:13: |
| 269 | | ./spec/spec/runner/formatter/html_formatter_spec.rb:28: |
| 270 | | ./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `chdir' |
| 271 | | ./spec/spec/runner/formatter/html_formatter_spec.rb:24:</pre></div> |
| 269 | ./spec/spec/runner/formatter/html_formatter_spec.rb:25: |
| 270 | ./spec/spec/runner/formatter/html_formatter_spec.rb:21:in `chdir' |
| 271 | ./spec/spec/runner/formatter/html_formatter_spec.rb:21:</pre></div> |
| 272 | 272 | <pre class="ruby"><code><span class="linenum">11</span><span class="ident">framework</span> <span class="keyword">for</span> <span class="constant">Ruby</span> |
| 273 | 273 | <span class="linenum">12</span><span class="constant">EOF</span> |
| 274 | 274 | <span class="offending"><span class="linenum">13</span> <span class="ident">usa</span><span class="punct">.</span><span class="ident">should</span> <span class="punct">==</span> <span class="ident">uk</span></span> |
| … | … | |
| 297 | 297 | > |
| 298 | 298 | </pre></div> |
| 299 | 299 | <div class="backtrace"><pre>./failing_examples/diffing_spec.rb:34: |
| 300 | | ./spec/spec/runner/formatter/html_formatter_spec.rb:28: |
| 301 | | ./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `chdir' |
| 302 | | ./spec/spec/runner/formatter/html_formatter_spec.rb:24:</pre></div> |
| 300 | ./spec/spec/runner/formatter/html_formatter_spec.rb:25: |
| 301 | ./spec/spec/runner/formatter/html_formatter_spec.rb:21:in `chdir' |
| 302 | ./spec/spec/runner/formatter/html_formatter_spec.rb:21:</pre></div> |
| 303 | 303 | <pre class="ruby"><code><span class="linenum">32</span> <span class="ident">expected</span> <span class="punct">=</span> <span class="constant">Animal</span><span class="punct">.</span><span class="ident">new</span> <span class="punct">"</span><span class="string">bob</span><span class="punct">",</span> <span class="punct">"</span><span class="string">giraffe</span><span class="punct">"</span> |
| 304 | 304 | <span class="linenum">33</span> <span class="ident">actual</span> <span class="punct">=</span> <span class="constant">Animal</span><span class="punct">.</span><span class="ident">new</span> <span class="punct">"</span><span class="string">bob</span><span class="punct">",</span> <span class="punct">"</span><span class="string">tortoise</span><span class="punct">"</span> |
| 305 | 305 | <span class="offending"><span class="linenum">34</span> <span class="ident">expected</span><span class="punct">.</span><span class="ident">should</span> <span class="ident">eql</span><span class="punct">(</span><span class="ident">actual</span><span class="punct">)</span></span> |
| toggle raw diff |
--- a/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html
+++ b/rspec/spec/spec/runner/formatter/html_formatted-1.8.6.html
@@ -189,9 +189,9 @@ a {
<div class="failure" id="failure_1">
<div class="message"><pre>Mock 'poke me' expected :poke with (any args) once, but received it 0 times</pre></div>
<div class="backtrace"><pre>./failing_examples/mocking_example.rb:13:
-./spec/spec/runner/formatter/html_formatter_spec.rb:28:
-./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `chdir'
-./spec/spec/runner/formatter/html_formatter_spec.rb:24:</pre></div>
+./spec/spec/runner/formatter/html_formatter_spec.rb:25:
+./spec/spec/runner/formatter/html_formatter_spec.rb:21:in `chdir'
+./spec/spec/runner/formatter/html_formatter_spec.rb:21:</pre></div>
<pre class="ruby"><code><span class="linenum">11</span> <span class="ident">it</span> <span class="punct">"</span><span class="string">should fail when expected message not received</span><span class="punct">"</span> <span class="keyword">do</span>
<span class="linenum">12</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">("</span><span class="string">poke me</span><span class="punct">")</span>
<span class="offending"><span class="linenum">13</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_receive</span><span class="punct">(</span><span class="symbol">:poke</span><span class="punct">)</span></span>
@@ -205,9 +205,9 @@ a {
<div class="failure" id="failure_2">
<div class="message"><pre>Mock 'one two three' received :three out of order</pre></div>
<div class="backtrace"><pre>./failing_examples/mocking_example.rb:22:
-./spec/spec/runner/formatter/html_formatter_spec.rb:28:
-./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `chdir'
-./spec/spec/runner/formatter/html_formatter_spec.rb:24:</pre></div>
+./spec/spec/runner/formatter/html_formatter_spec.rb:25:
+./spec/spec/runner/formatter/html_formatter_spec.rb:21:in `chdir'
+./spec/spec/runner/formatter/html_formatter_spec.rb:21:</pre></div>
<pre class="ruby"><code><span class="linenum">20</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_receive</span><span class="punct">(</span><span class="symbol">:three</span><span class="punct">).</span><span class="ident">ordered</span>
<span class="linenum">21</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">one</span>
<span class="offending"><span class="linenum">22</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">three</span></span>
@@ -219,15 +219,14 @@ a {
<dd class="spec failed">
<span class="failed_spec_name">should get yelled at when sending unexpected messages</span>
<div class="failure" id="failure_3">
- <div class="message"><pre>Mock 'don't talk to me' expected :any_message_at_all with (any args) 0 times, but received it once</pre></div>
- <div class="backtrace"><pre>./failing_examples/mocking_example.rb:28:
-./spec/spec/runner/formatter/html_formatter_spec.rb:28:
-./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `chdir'
-./spec/spec/runner/formatter/html_formatter_spec.rb:24:</pre></div>
- <pre class="ruby"><code><span class="linenum">26</span> <span class="ident">it</span> <span class="punct">"</span><span class="string">should get yelled at when sending unexpected messages</span><span class="punct">"</span> <span class="keyword">do</span>
-<span class="linenum">27</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">("</span><span class="string">don't talk to me</span><span class="punct">")</span>
-<span class="offending"><span class="linenum">28</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_not_receive</span><span class="punct">(</span><span class="symbol">:any_message_at_all</span><span class="punct">)</span></span>
-<span class="linenum">29</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">any_message_at_all</span>
+ <div class="message"><pre>Mock 'don't talk to me' expected :any_message_at_all with (no args) 0 times, but received it once</pre></div>
+ <div class="backtrace"><pre>./failing_examples/mocking_example.rb:29:
+./spec/spec/runner/formatter/html_formatter_spec.rb:25:
+./spec/spec/runner/formatter/html_formatter_spec.rb:21:in `chdir'
+./spec/spec/runner/formatter/html_formatter_spec.rb:21:</pre></div>
+ <pre class="ruby"><code><span class="linenum">27</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">("</span><span class="string">don't talk to me</span><span class="punct">")</span>
+<span class="linenum">28</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_not_receive</span><span class="punct">(</span><span class="symbol">:any_message_at_all</span><span class="punct">)</span>
+<span class="offending"><span class="linenum">29</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">any_message_at_all</span></span>
<span class="linenum">30</span> <span class="keyword">end</span></code></pre>
</div>
</dd>
@@ -237,9 +236,9 @@ a {
<div class="failure" id="failure_4">
<div class="message"><pre>Expected pending 'here is the bug' to fail. No Error was raised.</pre></div>
<div class="backtrace"><pre>./failing_examples/mocking_example.rb:33:
-./spec/spec/runner/formatter/html_formatter_spec.rb:28:
-./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `chdir'
-./spec/spec/runner/formatter/html_formatter_spec.rb:24:</pre></div>
+./spec/spec/runner/formatter/html_formatter_spec.rb:25:
+./spec/spec/runner/formatter/html_formatter_spec.rb:21:in `chdir'
+./spec/spec/runner/formatter/html_formatter_spec.rb:21:</pre></div>
<pre class="ruby"><code><span class="linenum">31</span>
<span class="linenum">32</span> <span class="ident">it</span> <span class="punct">"</span><span class="string">has a bug we need to fix</span><span class="punct">"</span> <span class="keyword">do</span>
<span class="offending"><span class="linenum">33</span> <span class="ident">pending</span> <span class="punct">"</span><span class="string">here is the bug</span><span class="punct">"</span> <span class="keyword">do</span></span>
@@ -267,9 +266,9 @@ Diff:
framework for Ruby
</pre></div>
<div class="backtrace"><pre>./failing_examples/diffing_spec.rb:13:
-./spec/spec/runner/formatter/html_formatter_spec.rb:28:
-./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `chdir'
-./spec/spec/runner/formatter/html_formatter_spec.rb:24:</pre></div>
+./spec/spec/runner/formatter/html_formatter_spec.rb:25:
+./spec/spec/runner/formatter/html_formatter_spec.rb:21:in `chdir'
+./spec/spec/runner/formatter/html_formatter_spec.rb:21:</pre></div>
<pre class="ruby"><code><span class="linenum">11</span><span class="ident">framework</span> <span class="keyword">for</span> <span class="constant">Ruby</span>
<span class="linenum">12</span><span class="constant">EOF</span>
<span class="offending"><span class="linenum">13</span> <span class="ident">usa</span><span class="punct">.</span><span class="ident">should</span> <span class="punct">==</span> <span class="ident">uk</span></span>
@@ -298,9 +297,9 @@ Diff:
>
</pre></div>
<div class="backtrace"><pre>./failing_examples/diffing_spec.rb:34:
-./spec/spec/runner/formatter/html_formatter_spec.rb:28:
-./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `chdir'
-./spec/spec/runner/formatter/html_formatter_spec.rb:24:</pre></div>
+./spec/spec/runner/formatter/html_formatter_spec.rb:25:
+./spec/spec/runner/formatter/html_formatter_spec.rb:21:in `chdir'
+./spec/spec/runner/formatter/html_formatter_spec.rb:21:</pre></div>
<pre class="ruby"><code><span class="linenum">32</span> <span class="ident">expected</span> <span class="punct">=</span> <span class="constant">Animal</span><span class="punct">.</span><span class="ident">new</span> <span class="punct">"</span><span class="string">bob</span><span class="punct">",</span> <span class="punct">"</span><span class="string">giraffe</span><span class="punct">"</span>
<span class="linenum">33</span> <span class="ident">actual</span> <span class="punct">=</span> <span class="constant">Animal</span><span class="punct">.</span><span class="ident">new</span> <span class="punct">"</span><span class="string">bob</span><span class="punct">",</span> <span class="punct">"</span><span class="string">tortoise</span><span class="punct">"</span>
<span class="offending"><span class="linenum">34</span> <span class="ident">expected</span><span class="punct">.</span><span class="ident">should</span> <span class="ident">eql</span><span class="punct">(</span><span class="ident">actual</span><span class="punct">)</span></span> |
| |   |
| 188 | 188 | <span class="failed_spec_name">should fail when expected message not received</span> |
| 189 | 189 | <div class="failure" id="failure_1"> |
| 190 | 190 | <div class="message"><pre>Mock 'poke me' expected :poke with (any args) once, but received it 0 times</pre></div> |
| 191 | | <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/wincent/trabajo/vendor/rspec/rspec/failing_examples/mocking_example.rb&line=13">./failing_examples/mocking_example.rb:13</a> |
| 192 | | <a href="txmt://open?url=file:///Users/wincent/trabajo/vendor/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=50">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:50</a> |
| 193 | | <a href="txmt://open?url=file:///Users/wincent/trabajo/vendor/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=46">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:46</a> :in `chdir' |
| 194 | | <a href="txmt://open?url=file:///Users/wincent/trabajo/vendor/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=46">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:46</a> </pre></div> |
| 191 | <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/david/projects/ruby/rspec/rspec/failing_examples/mocking_example.rb&line=13">./failing_examples/mocking_example.rb:13</a> |
| 192 | <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=50">/Users/david/projects/ruby/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb:50</a> |
| 193 | <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=46">/Users/david/projects/ruby/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb:46</a> :in `chdir' |
| 194 | <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=46">/Users/david/projects/ruby/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb:46</a> </pre></div> |
| 195 | 195 | <pre class="ruby"><code><span class="linenum">11</span> <span class="ident">it</span> <span class="punct">"</span><span class="string">should fail when expected message not received</span><span class="punct">"</span> <span class="keyword">do</span> |
| 196 | 196 | <span class="linenum">12</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">("</span><span class="string">poke me</span><span class="punct">")</span> |
| 197 | 197 | <span class="offending"><span class="linenum">13</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_receive</span><span class="punct">(</span><span class="symbol">:poke</span><span class="punct">)</span></span> |
| … | … | |
| 204 | 204 | <span class="failed_spec_name">should fail when messages are received out of order</span> |
| 205 | 205 | <div class="failure" id="failure_2"> |
| 206 | 206 | <div class="message"><pre>Mock 'one two three' received :three out of order</pre></div> |
| 207 | | <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/wincent/trabajo/vendor/rspec/rspec/failing_examples/mocking_example.rb&line=22">./failing_examples/mocking_example.rb:22</a> |
| 208 | | <a href="txmt://open?url=file:///Users/wincent/trabajo/vendor/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=50">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:50</a> |
| 209 | | <a href="txmt://open?url=file:///Users/wincent/trabajo/vendor/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=46">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:46</a> :in `chdir' |
| 210 | | <a href="txmt://open?url=file:///Users/wincent/trabajo/vendor/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=46">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:46</a> </pre></div> |
| 207 | <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/david/projects/ruby/rspec/rspec/failing_examples/mocking_example.rb&line=22">./failing_examples/mocking_example.rb:22</a> |
| 208 | <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=50">/Users/david/projects/ruby/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb:50</a> |
| 209 | <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=46">/Users/david/projects/ruby/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb:46</a> :in `chdir' |
| 210 | <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=46">/Users/david/projects/ruby/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb:46</a> </pre></div> |
| 211 | 211 | <pre class="ruby"><code><span class="linenum">20</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_receive</span><span class="punct">(</span><span class="symbol">:three</span><span class="punct">).</span><span class="ident">ordered</span> |
| 212 | 212 | <span class="linenum">21</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">one</span> |
| 213 | 213 | <span class="offending"><span class="linenum">22</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">three</span></span> |
| … | … | |
| 219 | 219 | <dd class="spec failed"> |
| 220 | 220 | <span class="failed_spec_name">should get yelled at when sending unexpected messages</span> |
| 221 | 221 | <div class="failure" id="failure_3"> |
| 222 | | <div class="message"><pre>Mock 'don't talk to me' expected :any_message_at_all with (any args) 0 times, but received it once</pre></div> |
| 223 | | <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/wincent/trabajo/vendor/rspec/rspec/failing_examples/mocking_example.rb&line=28">./failing_examples/mocking_example.rb:28</a> |
| 224 | | <a href="txmt://open?url=file:///Users/wincent/trabajo/vendor/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=50">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:50</a> |
| 225 | | <a href="txmt://open?url=file:///Users/wincent/trabajo/vendor/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=46">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:46</a> :in `chdir' |
| 226 | | <a href="txmt://open?url=file:///Users/wincent/trabajo/vendor/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=46">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:46</a> </pre></div> |
| 227 | | <pre class="ruby"><code><span class="linenum">26</span> <span class="ident">it</span> <span class="punct">"</span><span class="string">should get yelled at when sending unexpected messages</span><span class="punct">"</span> <span class="keyword">do</span> |
| 228 | | <span class="linenum">27</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">("</span><span class="string">don't talk to me</span><span class="punct">")</span> |
| 229 | | <span class="offending"><span class="linenum">28</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_not_receive</span><span class="punct">(</span><span class="symbol">:any_message_at_all</span><span class="punct">)</span></span> |
| 230 | | <span class="linenum">29</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">any_message_at_all</span> |
| 222 | <div class="message"><pre>Mock 'don't talk to me' expected :any_message_at_all with (no args) 0 times, but received it once</pre></div> |
| 223 | <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/david/projects/ruby/rspec/rspec/failing_examples/mocking_example.rb&line=29">./failing_examples/mocking_example.rb:29</a> |
| 224 | <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=50">/Users/david/projects/ruby/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb:50</a> |
| 225 | <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=46">/Users/david/projects/ruby/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb:46</a> :in `chdir' |
| 226 | <a href="txmt://open?url=file:///Users/david/projects/ruby/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=46">/Users/david/projects/ruby/rspec/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb:46</a> </pre></div> |
| 227 | <pre class="ruby"><code><span class="linenum">27</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">("</span><span class="string">don't talk to me</span><span class="punct">")</span> |
| 228 | <span class="linenum">28</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_not_receive</span><span class="punct">(</span><span class="symbol">:any_message_at_all</span><span class="punct">)</span> |
| 229 | <span class="offending"><span class="linenum">29</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">any_message_at_all</span></span> |
| 231 | 230 | <span class="linenum">30</span> <span class="keyword">end</span></code></pre> |
| 232 | 231 | </div> |
| 233 | 232 | </dd> |
| … | … | |
| 235 | 235 | <span class="failed_spec_name">has a bug we need to fix</span> |
| 236 | 236 | |