diff options
author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-05-14 12:52:17 +0000 |
---|---|---|
committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-05-14 12:52:17 +0000 |
commit | d9270014832a6bea170e7c310e4550c2c515f855 (patch) | |
tree | 6a4ea2196159042da8c2751244d3e612d335217e /test/ruby/test_class.rb | |
parent | c05f3423ae753a3d273cec6b14780268fc188c7b (diff) | |
download | ruby-d9270014832a6bea170e7c310e4550c2c515f855.tar.gz ruby-d9270014832a6bea170e7c310e4550c2c515f855.tar.xz ruby-d9270014832a6bea170e7c310e4550c2c515f855.zip |
* test/ruby/test_object.rb: new tests to achieve over 90% test
coverage of object.c, eval.c and eval_method.c.
* test/ruby/test_module.rb: ditto.
* test/ruby/test_trace.rb: ditto.
* test/ruby/test_integer.rb: ditto.
* test/ruby/test_float.rb: ditto.
* test/ruby/test_method.rb: ditto.
* test/ruby/test_variable.rb: ditto.
* test/ruby/test_eval.rb: ditto.
* test/ruby/test_exception.rb: ditto.
* test/ruby/test_class.rb: ditto.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_class.rb')
-rw-r--r-- | test/ruby/test_class.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/ruby/test_class.rb b/test/ruby/test_class.rb index fa8a40f39..d4813a5f0 100644 --- a/test/ruby/test_class.rb +++ b/test/ruby/test_class.rb @@ -77,4 +77,32 @@ class TestClass < Test::Unit::TestCase assert_equal(BasicObject, ClassTwo.superclass.superclass.superclass) end + def test_class_cmp + assert_raise(TypeError) { Class.new <= 1 } + assert_raise(TypeError) { Class.new >= 1 } + assert_nil(Class.new <=> 1) + end + + def test_class_initialize + assert_raise(TypeError) do + Class.new.instance_eval { initialize } + end + end + + def test_instanciate_singleton_class + c = class << Object.new; self; end + assert_raise(TypeError) { c.new } + end + + def test_superclass_of_basicobject + assert_equal(nil, BasicObject.superclass) + end + + def test_module_function + c = Class.new + assert_raise(TypeError) do + Module.instance_method(:module_function).bind(c).call(:foo) + end + end + end |