summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-08-14 16:52:55 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2013-08-14 16:52:55 +0900
commit379d668b840bb49020c17ccaba4b2b587b657688 (patch)
tree53a3b0253e2636d2f7a6f1eeb017cc76759119fa
parentf8454e53bac2b3c7da9956b9dd024ce83026f0fc (diff)
parentab1c5c166c7271b39ba46e447ec655f8cd66bd3d (diff)
downloadmruby-379d668b840bb49020c17ccaba4b2b587b657688.tar.gz
mruby-379d668b840bb49020c17ccaba4b2b587b657688.zip
Merge branch 'master' of github.com:mruby/mruby
-rw-r--r--mrblib/class.rb2
-rw-r--r--test/t/class.rb28
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