summaryrefslogtreecommitdiffhomepage
path: root/test/t
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-08-14 00:34:47 -0700
committerYukihiro "Matz" Matsumoto <[email protected]>2013-08-14 00:34:47 -0700
commitab1c5c166c7271b39ba46e447ec655f8cd66bd3d (patch)
treea028de3574c724f2c09e3b3d625e4a0faf8662b0 /test/t
parent0dfda0c9704a0375705cf401ccda6b277bc68bed (diff)
parentd55eb947f93b066ee5d4dea95543241b24009f1f (diff)
downloadmruby-ab1c5c166c7271b39ba46e447ec655f8cd66bd3d.tar.gz
mruby-ab1c5c166c7271b39ba46e447ec655f8cd66bd3d.zip
Merge pull request #1473 from carsonmcdonald/fixclassnew
Fix Class#new call to inherited and add a couple Class tests
Diffstat (limited to 'test/t')
-rw-r--r--test/t/class.rb28
1 files changed, 28 insertions, 0 deletions
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