Updated MSpec source to 1c3ee1c8.
[rbx.git] / mspec / spec / runner / actions / debug_spec.rb
blobd2c5e25d028b58ad2148c2b9d8986365d2a5710a
1 require File.dirname(__FILE__) + '/../../spec_helper'
2 require 'mspec/runner/actions/debug'
3 require 'mspec/runner/mspec'
4 require 'mspec/runner/context'
5 require 'mspec/runner/example'
7 describe DebugAction do
8   before :each do
9     MSpec.stub!(:read_tags).and_return([])
10   end
12   it "creates an MatchFilter with its tag and desc arguments" do
13     filter = mock('action filter', :null_object => true)
14     MatchFilter.should_receive(:new).with(nil, "some", "thing").and_return(filter)
15     DebugAction.new ["tag", "key"], ["some", "thing"]
16   end
17 end
19 describe DebugAction, "#before" do
20   before :each do
21     MSpec.stub!(:read_tags).and_return([])
22     @state = ExampleState.new ContextState.new("Catch#me"), "if you can"
23   end
25   it "does not invoke the debugger if the description does not match" do
26     Kernel.should_not_receive(:debugger)
27     action = DebugAction.new nil, "match"
28     action.before @state
29   end
31   it "invokes the debugger if the description matches" do
32     Kernel.should_receive(:debugger)
33     action = DebugAction.new nil, "can"
34     action.before @state
35   end
36 end
38 describe DebugAction, "#register" do
39   before :each do
40     MSpec.stub!(:read_tags).and_return([])
41     MSpec.stub!(:register)
42     @action = DebugAction.new nil, nil
43   end
45   it "registers itself with MSpec for the :before action" do
46     MSpec.should_receive(:register).with(:before, @action)
47     @action.register
48   end
49 end
51 describe DebugAction, "#unregister" do
52   before :each do
53     MSpec.stub!(:read_tags).and_return([])
54     MSpec.stub!(:unregister)
55     @action = DebugAction.new nil, nil
56   end
58   it "unregisters itself with MSpec for the :before action" do
59     MSpec.should_receive(:unregister).with(:before, @action)
60     @action.unregister
61   end
62 end