1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

test_object.rb: add more checks

* test/ruby/test_object.rb (test_remove_instance_variable): refine
  failure message and check the name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2015-10-30 03:02:14 +00:00
parent 0a9f20ae02
commit a96626e6da

View file

@ -236,17 +236,19 @@ class TestObject < Test::Unit::TestCase
'T_CLASS,T_MODULE' => Class.new(Object),
'generic ivar' => '',
}.each do |desc, o|
assert_raises(NameError, "#{desc} iv removal raises before set") do
e = assert_raise(NameError, "#{desc} iv removal raises before set") do
o.remove_instance_variable(:@foo)
end
assert_equal([o, :@foo], [e.receiver, e.name])
o.instance_eval { @foo = :foo }
assert_equal(:foo, o.remove_instance_variable(:@foo),
"#{desc} iv removal returns original value")
assert_equal(false, o.instance_variable_defined?(:@foo),
"#{desc} iv removed succesfully")
assert_raises(NameError, "#{desc} iv removal raises after removal") do
assert_not_send([o, :instance_variable_defined?, :@foo],
"#{desc} iv removed succesfully")
e = assert_raise(NameError, "#{desc} iv removal raises after removal") do
o.remove_instance_variable(:@foo)
end
assert_equal([o, :@foo], [e.receiver, e.name])
end
end