aboutsummaryrefslogtreecommitdiffstats
path: root/spec/ruby/core/tracepoint
diff options
context:
space:
mode:
authoreregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2019-02-21 15:38:59 +0000
committereregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2019-02-21 15:38:59 +0000
commitda7976235fbc2986925969646071bebe3702e49f (patch)
tree83bbf6a8e03cf990369feabe6c1c9d45c69f4c85 /spec/ruby/core/tracepoint
parentb8e389a0f3226c90e96e02e6396686a3bef6a456 (diff)
downloadruby-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.rb42
-rw-r--r--spec/ruby/core/tracepoint/enable_spec.rb62
-rw-r--r--spec/ruby/core/tracepoint/enabled_spec.rb6
-rw-r--r--spec/ruby/core/tracepoint/inspect_spec.rb22
-rw-r--r--spec/ruby/core/tracepoint/new_spec.rb17
-rw-r--r--spec/ruby/core/tracepoint/path_spec.rb2
-rw-r--r--spec/ruby/core/tracepoint/self_spec.rb10
-rw-r--r--spec/ruby/core/tracepoint/trace_spec.rb4
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