diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-08-14 16:52:55 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-08-14 16:52:55 +0900 |
| commit | 379d668b840bb49020c17ccaba4b2b587b657688 (patch) | |
| tree | 53a3b0253e2636d2f7a6f1eeb017cc76759119fa | |
| parent | f8454e53bac2b3c7da9956b9dd024ce83026f0fc (diff) | |
| parent | ab1c5c166c7271b39ba46e447ec655f8cd66bd3d (diff) | |
| download | mruby-379d668b840bb49020c17ccaba4b2b587b657688.tar.gz mruby-379d668b840bb49020c17ccaba4b2b587b657688.zip | |
Merge branch 'master' of github.com:mruby/mruby
| -rw-r--r-- | mrblib/class.rb | 2 | ||||
| -rw-r--r-- | test/t/class.rb | 28 |
2 files changed, 29 insertions, 1 deletions
diff --git a/mrblib/class.rb b/mrblib/class.rb index 57aac2f93..7f37b7bc3 100644 --- a/mrblib/class.rb +++ b/mrblib/class.rb @@ -6,7 +6,7 @@ class Class end def self.new(*args) obj = super - obj.inerited + obj.inherited obj end end diff --git a/test/t/class.rb b/test/t/class.rb index 95dbafbb1..3dea2152f 100644 --- a/test/t/class.rb +++ b/test/t/class.rb @@ -217,3 +217,31 @@ assert('Class Dup 2') do module M; end assert_equal(Module, M.dup.class) end + +assert('Class new') do + assert_equal(Class, Class.new.class) +end + +assert('Class#inherited') do + class Foo + @@subclass_name = nil + def self.inherited(subclass) + @@subclass_name = subclass + end + def self.subclass_name + @@subclass_name + end + end + + assert_equal(nil, Foo.subclass_name) + + class Bar < Foo + end + + assert_equal(Bar, Foo.subclass_name) + + class Baz < Bar + end + + assert_equal(Baz, Foo.subclass_name) +end |
