summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-25 14:46:28 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-25 14:46:28 +0000
commit3a724e086af6a6a8846da1f194cfb12c1977573b (patch)
treed1da4b8bde7e01e4dcc21d039ae1764e359aed99 /test
parent0a84a18ef486c13ae75d2272e2e3d4a23e4634ce (diff)
merges r24513,r24514 and r24515 from trunk into ruby_1_9_1.
-- * class.c (rb_define_class_id_under, rb_define_module_id_under): new functions to define a nested class/module with non-ascii name. * struct.c (make_struct): use name with encoding. * struct.c (inspect_struct): ditto. [ruby-core:24849] -- * test/ruby/test_marshal.rb (test_class_nonascii): test for non-ascii name class. -- * class.c (rb_define_module_id_under): fix the name. * class.c (rb_define_module_under): fix for prevvious changes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@25479 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_marshal.rb6
-rw-r--r--test/ruby/test_struct.rb7
2 files changed, 13 insertions, 0 deletions
diff --git a/test/ruby/test_marshal.rb b/test/ruby/test_marshal.rb
index 4a9192d448..172bfbb3f7 100644
--- a/test/ruby/test_marshal.rb
+++ b/test/ruby/test_marshal.rb
@@ -198,4 +198,10 @@ class TestMarshal < Test::Unit::TestCase
assert_equal(sym, Marshal.load(Marshal.dump(sym)), '[ruby-core:24788]')
end
end
+
+ ClassUTF8 = eval("class R\u{e9}sum\u{e9}; self; end")
+ def test_class_nonascii
+ a = ClassUTF8.new
+ assert_instance_of(ClassUTF8, Marshal.load(Marshal.dump(a)), '[ruby-core:24790]')
+ end
end
diff --git a/test/ruby/test_struct.rb b/test/ruby/test_struct.rb
index 6c0e1f4fb2..1b68429d0c 100644
--- a/test/ruby/test_struct.rb
+++ b/test/ruby/test_struct.rb
@@ -212,4 +212,11 @@ class TestStruct < Test::Unit::TestCase
Struct.new(0)
}
end
+
+ def test_nonascii
+ struct_test = Struct.new("R\u{e9}sum\u{e9}", :"r\u{e9}sum\u{e9}")
+ assert_equal(Struct.const_get("R\u{e9}sum\u{e9}"), struct_test, '[ruby-core:24849]')
+ a = struct_test.new(42)
+ assert_equal("#<struct Struct::R\u{e9}sum\u{e9} r\u{e9}sum\u{e9}=42>", a.inspect, '[ruby-core:24849]')
+ end
end