test/ruby/test_symbol.rb: tests for [Bug #8531]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41343 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
7d753a9999
commit
b69699a08c
@ -33,7 +33,7 @@ class TestSymbol < Test::Unit::TestCase
|
||||
assert_inspect_evaled(':foo')
|
||||
assert_inspect_evaled(':foo!')
|
||||
assert_inspect_evaled(':bar?')
|
||||
assert_inspect_evaled(':<<')
|
||||
assert_inspect_evaled(":<<")
|
||||
assert_inspect_evaled(':>>')
|
||||
assert_inspect_evaled(':<=')
|
||||
assert_inspect_evaled(':>=')
|
||||
@ -114,6 +114,34 @@ class TestSymbol < Test::Unit::TestCase
|
||||
assert_raise(ArgumentError) { :foo.to_proc.call }
|
||||
end
|
||||
|
||||
def m_block_given?
|
||||
block_given?
|
||||
end
|
||||
|
||||
def m2_block_given?(m = nil)
|
||||
if m
|
||||
[block_given?, m.call(self)]
|
||||
else
|
||||
block_given?
|
||||
end
|
||||
end
|
||||
|
||||
def test_block_given_to_proc
|
||||
bug8531 = '[Bug #8531]'
|
||||
m = :m_block_given?.to_proc
|
||||
assert(!m.call(self), "#{bug8531} without block")
|
||||
assert(m.call(self) {}, "#{bug8531} with block")
|
||||
assert(!m.call(self), "#{bug8531} without block second")
|
||||
end
|
||||
|
||||
def test_block_persist_between_calls
|
||||
bug8531 = '[Bug #8531]'
|
||||
m = :m_block_given?.to_proc
|
||||
m2 = :m2_block_given?.to_proc
|
||||
assert_equal([true, false], m2.call(self) {}, "#{bug8531} nested with block")
|
||||
assert_equal([false, false], m2.call(self), "#{bug8531} nested without block")
|
||||
end
|
||||
|
||||
def test_succ
|
||||
assert_equal(:fop, :foo.succ)
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user