diff options
author | eregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-02-21 15:38:59 +0000 |
---|---|---|
committer | eregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-02-21 15:38:59 +0000 |
commit | da7976235fbc2986925969646071bebe3702e49f (patch) | |
tree | 83bbf6a8e03cf990369feabe6c1c9d45c69f4c85 /spec/ruby/core/tracepoint | |
parent | b8e389a0f3226c90e96e02e6396686a3bef6a456 (diff) | |
download | ruby-da7976235fbc2986925969646071bebe3702e49f.tar.gz |
Update to ruby/spec@7a16e01
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'spec/ruby/core/tracepoint')
-rw-r--r-- | spec/ruby/core/tracepoint/disable_spec.rb | 42 | ||||
-rw-r--r-- | spec/ruby/core/tracepoint/enable_spec.rb | 62 | ||||
-rw-r--r-- | spec/ruby/core/tracepoint/enabled_spec.rb | 6 | ||||
-rw-r--r-- | spec/ruby/core/tracepoint/inspect_spec.rb | 22 | ||||
-rw-r--r-- | spec/ruby/core/tracepoint/new_spec.rb | 17 | ||||
-rw-r--r-- | spec/ruby/core/tracepoint/path_spec.rb | 2 | ||||
-rw-r--r-- | spec/ruby/core/tracepoint/self_spec.rb | 10 | ||||
-rw-r--r-- | spec/ruby/core/tracepoint/trace_spec.rb | 4 |
8 files changed, 97 insertions, 68 deletions
diff --git a/spec/ruby/core/tracepoint/disable_spec.rb b/spec/ruby/core/tracepoint/disable_spec.rb index e936d3498d..25d54502ab 100644 --- a/spec/ruby/core/tracepoint/disable_spec.rb +++ b/spec/ruby/core/tracepoint/disable_spec.rb @@ -1,34 +1,37 @@ require_relative '../../spec_helper' describe 'TracePoint#disable' do - def test; end it 'returns true if trace was enabled' do called = false - trace = TracePoint.new(:call) do |tp| + trace = TracePoint.new(:line) do |tp| called = true end trace.enable - trace.disable.should be_true + begin + line_event = true + ensure + ret = trace.disable + ret.should == true + end + called.should == true # Check the TracePoint is disabled called = false - test + line_event = true called.should == false end it 'returns false if trace was disabled' do - event_name, method_name = nil - trace = TracePoint.new(:call) do |tp| - event_name = tp.event - method_name = tp.method_id + called = false + trace = TracePoint.new(:line) do |tp| + called = true end - trace.disable.should be_false - event_name, method_name = nil - test - method_name.equal?(:test).should be_false - event_name.should equal(nil) + line_event = true + trace.disable.should == false + line_event = true + called.should == false end it 'is disabled within a block & is enabled outside the block' do @@ -37,19 +40,19 @@ describe 'TracePoint#disable' do trace.enable begin trace.disable { enabled = trace.enabled? } - enabled.should be_false - trace.enabled?.should be_true + enabled.should == false + trace.enabled?.should == true ensure trace.disable end end - it 'is disabled within a block & also returns false when its called with a block' do + it 'returns the return value of the block' do trace = TracePoint.new(:line) {} trace.enable begin - trace.disable { trace.enabled? }.should == false - trace.enabled?.should equal(true) + trace.disable { 42 }.should == 42 + trace.enabled?.should == true ensure trace.disable end @@ -57,14 +60,13 @@ describe 'TracePoint#disable' do ruby_bug "#14057", ""..."2.5" do it 'can accept param within a block but it should not yield arguments' do - event_name = nil trace = TracePoint.new(:line) {} trace.enable begin trace.disable do |*args| args.should == [] end - trace.enabled?.should be_true + trace.enabled?.should == true ensure trace.disable end diff --git a/spec/ruby/core/tracepoint/enable_spec.rb b/spec/ruby/core/tracepoint/enable_spec.rb index 3b43d3d6b4..720adfcd4b 100644 --- a/spec/ruby/core/tracepoint/enable_spec.rb +++ b/spec/ruby/core/tracepoint/enable_spec.rb @@ -1,53 +1,49 @@ require_relative '../../spec_helper' describe 'TracePoint#enable' do - def test; end + # def test; end describe 'without a block' do it 'returns true if trace was enabled' do - event_name = nil - trace = TracePoint.new(:call) do |tp| - event_name = tp.event + called = false + trace = TracePoint.new(:line) do |tp| + called = true end - test - event_name.should == nil + line_event = true + called.should == false trace.enable begin - test - event_name.should equal(:call) + line_event = true + called.should == true ensure trace.disable end end it 'returns false if trace was disabled' do - event_name, method_name = nil, nil - trace = TracePoint.new(:call) do |tp| - event_name = tp.event - method_name = tp.method_id + called = false + trace = TracePoint.new(:line) do |tp| + called = true end - trace.enable.should be_false + trace.enable.should == false begin - event_name.should equal(:call) - test - method_name.equal?(:test).should be_true + line_event = true + called.should == true ensure trace.disable end - event_name, method_name = nil - test - method_name.equal?(:test).should be_false - event_name.should equal(nil) + called = false + line_event = true + called.should == false - trace.enable.should be_false + trace.enable.should == false begin - event_name.should equal(:call) - test - method_name.equal?(:test).should be_true + line_event = true + called.should == true ensure trace.disable end @@ -70,7 +66,7 @@ describe 'TracePoint#enable' do event_name.should equal(:line) args.should == [] end - trace.enabled?.should be_false + trace.enabled?.should == false end end @@ -86,17 +82,19 @@ describe 'TracePoint#enable' do end end - it 'returns value returned by the block' do + it 'returns the return value of the block' do trace = TracePoint.new(:line) {} - trace.enable { true; 'test' }.should == 'test' + trace.enable { 42 }.should == 42 end it 'disables the trace object outside the block' do - event_name = nil - trace = TracePoint.new(:line) { |tp|event_name = tp.event } - trace.enable { '2 + 2' } - event_name.should equal(:line) - trace.enabled?.should be_false + called = false + trace = TracePoint.new(:line) { called = true } + trace.enable { + line_event = true + } + called.should == true + trace.enabled?.should == false end end diff --git a/spec/ruby/core/tracepoint/enabled_spec.rb b/spec/ruby/core/tracepoint/enabled_spec.rb index 1c5d3d4bdd..0167d32fb0 100644 --- a/spec/ruby/core/tracepoint/enabled_spec.rb +++ b/spec/ruby/core/tracepoint/enabled_spec.rb @@ -2,13 +2,13 @@ require_relative '../../spec_helper' describe 'TracePoint#enabled?' do it 'returns true when current status of the trace is enable' do - trace = TracePoint.new(:call) {} + trace = TracePoint.new(:line) {} trace.enable do - trace.enabled?.should be_true + trace.enabled?.should == true end end it 'returns false when current status of the trace is disabled' do - TracePoint.new(:call) {}.enabled?.should be_false + TracePoint.new(:line) {}.enabled?.should == false end end diff --git a/spec/ruby/core/tracepoint/inspect_spec.rb b/spec/ruby/core/tracepoint/inspect_spec.rb index 19e345c7cf..9ff1653ae8 100644 --- a/spec/ruby/core/tracepoint/inspect_spec.rb +++ b/spec/ruby/core/tracepoint/inspect_spec.rb @@ -1,8 +1,28 @@ require_relative '../../spec_helper' +require_relative 'fixtures/classes' describe 'TracePoint#inspect' do it 'returns a string containing a human-readable TracePoint status' do - TracePoint.new(:call) {}.inspect.should == + TracePoint.new(:line) {}.inspect.should == '#<TracePoint:disabled>' end + + it 'returns a String showing the event, path and line' do + inspect = nil + line = __LINE__ + TracePoint.new(:line) { |tp| inspect = tp.inspect }.enable do + inspect.should == "#<TracePoint:line@#{__FILE__}:#{line+2}>" + end + end + + it 'returns a String showing the event, path and line for a :class event' do + inspect = nil + line = __LINE__ + TracePoint.new(:class) { |tp| inspect = tp.inspect }.enable do + class TracePointSpec::C + end + end + + inspect.should == "#<TracePoint:class@#{__FILE__}:#{line+2}>" + end end diff --git a/spec/ruby/core/tracepoint/new_spec.rb b/spec/ruby/core/tracepoint/new_spec.rb index 77675561f6..d333fd069a 100644 --- a/spec/ruby/core/tracepoint/new_spec.rb +++ b/spec/ruby/core/tracepoint/new_spec.rb @@ -3,7 +3,7 @@ require_relative 'fixtures/classes' describe 'TracePoint.new' do it 'returns a new TracePoint object, not enabled by default' do - TracePoint.new(:call) {}.enabled?.should be_false + TracePoint.new(:line) {}.enabled?.should be_false end it 'includes :line event when event is not specified' do @@ -23,12 +23,11 @@ describe 'TracePoint.new' do it 'converts given event name as string into symbol using to_sym' do event_name = nil - (o = mock('return')).should_receive(:to_sym).and_return(:return) + (o = mock('line')).should_receive(:to_sym).and_return(:line) - TracePoint.new(o) { |tp| event_name = tp.event}.enable do - event_name.should equal(nil) - TracePointSpec.test - event_name.should equal(:return) + TracePoint.new(o) { |tp| event_name = tp.event }.enable do + line_event = true + event_name.should == :line end end @@ -58,11 +57,11 @@ describe 'TracePoint.new' do ruby_bug "#140740", ""..."2.5" do it 'expects to be called with a block' do - -> { TracePoint.new(:line) }.should raise_error(ArgumentError) + -> { TracePoint.new(:line) }.should raise_error(ArgumentError, "must be called with a block") end end - it "raises a Argument error when the give argument doesn't match an event name" do - -> { TracePoint.new(:test) }.should raise_error(ArgumentError) + it "raises a Argument error when the given argument doesn't match an event name" do + -> { TracePoint.new(:test) }.should raise_error(ArgumentError, "unknown event: test") end end diff --git a/spec/ruby/core/tracepoint/path_spec.rb b/spec/ruby/core/tracepoint/path_spec.rb index 99751b0025..1e31c1bb68 100644 --- a/spec/ruby/core/tracepoint/path_spec.rb +++ b/spec/ruby/core/tracepoint/path_spec.rb @@ -11,7 +11,7 @@ describe 'TracePoint#path' do it 'equals (eval) inside an eval for :end event' do path = nil TracePoint.new(:end) { |tp| path = tp.path }.enable do - eval("class A; end") + eval("module TracePointSpec; end") path.should == '(eval)' end end diff --git a/spec/ruby/core/tracepoint/self_spec.rb b/spec/ruby/core/tracepoint/self_spec.rb index c76464f8d1..8bfd09301e 100644 --- a/spec/ruby/core/tracepoint/self_spec.rb +++ b/spec/ruby/core/tracepoint/self_spec.rb @@ -1,4 +1,5 @@ require_relative '../../spec_helper' +require_relative 'fixtures/classes' describe 'TracePoint#self' do it 'return the trace object from event' do @@ -7,4 +8,13 @@ describe 'TracePoint#self' do trace.equal?(self).should be_true end end + + it 'return the class object from a class event' do + trace = nil + TracePoint.new(:class) { |tp| trace = tp.self }.enable do + class TracePointSpec::C + end + end + trace.should equal TracePointSpec::C + end end diff --git a/spec/ruby/core/tracepoint/trace_spec.rb b/spec/ruby/core/tracepoint/trace_spec.rb index e5798df9fb..ea6c85bcc5 100644 --- a/spec/ruby/core/tracepoint/trace_spec.rb +++ b/spec/ruby/core/tracepoint/trace_spec.rb @@ -2,8 +2,8 @@ require_relative '../../spec_helper' describe 'TracePoint.trace' do it 'activates the trace automatically' do - trace = TracePoint.trace(:call) {} - trace.enabled?.should be_true + trace = TracePoint.trace(:line) {} + trace.enabled?.should == true trace.disable end end |