Project

General

Profile

Bug #4583 » test_settracefunc-1.9.2.patch

1.9.2 Test for correct binding - fails - QaDeS (Michael Klaus), 04/18/2011 07:56 AM

View differences:

test/ruby/test_settracefunc.rb
assert_equal([], events[:add])
end
attr_accessor :baz
class AttrTest
attr_accessor :baz
end
def test_attr_accessor
attr_test = AttrTest.new
events = []
set_trace_func(Proc.new { |event, file, lineno, mid, bidning, klass|
events << [event, lineno, mid, klass]
set_trace_func(Proc.new { |event, file, lineno, mid, bnd, klass|
events << [event, lineno, mid, eval('self', bnd), klass]
})
self.baz = baz
attr_test.baz = attr_test.baz
set_trace_func nil
assert_equal(["c-return", 364, :set_trace_func, Kernel], events.shift)
assert_equal(["line", 365, :test_attr_accessor, TestSetTraceFunc],
events.shift) # baz = baz
assert_equal(["c-call", 365, :baz, TestSetTraceFunc],
assert_equal(["c-return", 367, :set_trace_func, self, Kernel], events.shift)
assert_equal(["line", 368, :test_attr_accessor, self, TestSetTraceFunc],
events.shift) # baz = baz
assert_equal(["c-return", 365, :baz, TestSetTraceFunc],
assert_equal(["c-call", 368, :baz, attr_test, TestSetTraceFunc::AttrTest],
events.shift) # baz = baz
assert_equal(["c-call", 365, :baz=, TestSetTraceFunc],
assert_equal(["c-return", 368, :baz, attr_test, TestSetTraceFunc::AttrTest],
events.shift) # baz = baz
assert_equal(["c-return", 365, :baz=, TestSetTraceFunc],
assert_equal(["c-call", 368, :baz=, attr_test, TestSetTraceFunc::AttrTest],
events.shift) # baz = baz
assert_equal(["line", 366, :test_attr_accessor, TestSetTraceFunc],
assert_equal(["c-return", 368, :baz=, attr_test, TestSetTraceFunc::AttrTest],
events.shift) # baz = baz
assert_equal(["c-call", 366, :set_trace_func, Kernel], events.shift)
assert_equal(["line", 369, :test_attr_accessor, self, TestSetTraceFunc],
events.shift)
assert_equal(["c-call", 369, :set_trace_func, self, Kernel], events.shift)
assert_equal([], events)
end
end
(5-5/5)