summaryrefslogtreecommitdiff
path: root/bootstraptest/test_class.rb
diff options
context:
space:
mode:
Diffstat (limited to 'bootstraptest/test_class.rb')
-rw-r--r--bootstraptest/test_class.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/bootstraptest/test_class.rb b/bootstraptest/test_class.rb
index ad2844106f..b7fe0a1acd 100644
--- a/bootstraptest/test_class.rb
+++ b/bootstraptest/test_class.rb
@@ -11,6 +11,16 @@ assert_equal 'C', %q( class C; end
C.new.class.name )
assert_equal 'Class', %q( class C; end
C.new.class.class )
+assert_equal 'true', %q( Object.__send__(:remove_const, :TrueClass)
+ GC.start
+ true.inspect)
+assert_equal 'false', %q( Object.__send__(:remove_const, :FalseClass)
+ GC.start
+ false.inspect)
+assert_equal 'nil', %q( Object.__send__(:remove_const, :NilClass)
+ GC.start
+ nil.inspect)
+
# inherited class
assert_equal 'true', %q( class A; end
@@ -144,3 +154,16 @@ assert_equal '3', %q{
}
$i
}
+
+assert_match /::C\z/, %q{
+ c = nil
+ Module.new{|m| c = class m::C; name; end}
+ c
+}, '[ruby-dev:38456]'
+
+assert_normal_exit %q{
+ s = Symbol.dup
+ class << s
+ end
+ s.allocate.to_s
+}, '[ruby-core:30843]'