* test/ruby/test_module.rb (test_remove_class_variable): add a test

for Class#remove_class_variable.

* test/ruby/test_object.rb (test_remove_instance_variable): add a test
  for Object#remove_instance_variable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
mame 2008-10-09 13:16:07 +00:00
Родитель ae4bc66b64
Коммит 270f2f15be
3 изменённых файлов: 24 добавлений и 10 удалений

Просмотреть файл

@ -1,3 +1,11 @@
Thu Oct 9 22:13:58 2008 Yusuke Endoh <mame@tsg.ne.jp>
* test/ruby/test_module.rb (test_remove_class_variable): add a test
for Class#remove_class_variable.
* test/ruby/test_object.rb (test_remove_instance_variable): add a test
for Object#remove_instance_variable.
Thu Oct 9 22:04:38 2008 Yusuke Endoh <mame@tsg.ne.jp>
* variable.c (rb_mod_remove_cvar): fix r19711.

Просмотреть файл

@ -210,14 +210,6 @@ class TestModule < Test::Unit::TestCase
assert(Other.constants.include?(:CLASS_EVAL))
end
def test_class_variable_set
# TODO
end
def test_class_variable_get
# TODO
end
def test_const_defined?
assert(Math.const_defined?(:PI))
assert(Math.const_defined?("PI"))
@ -445,7 +437,7 @@ class TestModule < Test::Unit::TestCase
assert_raise(NameError) { c1.const_defined?(:foo) }
end
def test_class_variable_get2
def test_class_variable_get
c = Class.new
c.class_eval { @@foo = :foo }
assert_equal(:foo, c.class_variable_get(:@@foo))
@ -453,7 +445,7 @@ class TestModule < Test::Unit::TestCase
assert_raise(NameError) { c.class_variable_get(:foo) }
end
def test_class_variable_set2
def test_class_variable_set
c = Class.new
c.class_variable_set(:@@foo, :foo)
assert_equal(:foo, c.class_eval { @@foo })
@ -468,6 +460,13 @@ class TestModule < Test::Unit::TestCase
assert_raise(NameError) { c.class_variable_defined?(:foo) }
end
def test_remove_class_variable
c = Class.new
c.class_eval { @@foo = :foo }
c.class_eval { remove_class_variable(:@@foo) }
assert_equal(false, c.class_variable_defined?(:@@foo))
end
def test_export_method
m = Module.new
assert_raise(NameError) do

Просмотреть файл

@ -170,6 +170,13 @@ class TestObject < Test::Unit::TestCase
assert_raise(NameError) { o.instance_variable_defined?(:foo) }
end
def test_remove_instance_variable
o = Object.new
o.instance_eval { @foo = :foo }
o.instance_eval { remove_instance_variable(:@foo) }
assert_equal(false, o.instance_variable_defined?(:@foo))
end
def test_convert_type
o = Object.new
def o.to_s; 1; end