From c53464c7e96c1455d1ed957766d6b8d206442d76 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 7 Jul 2015 03:49:14 +0000 Subject: symbol.c: preserve encoding * symbol.c (rb_check_id, rb_check_symbol): preserve encoding of the given name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/-ext-/symbol/test_type.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'test/-ext-/symbol') diff --git a/test/-ext-/symbol/test_type.rb b/test/-ext-/symbol/test_type.rb index f1749f55da..3c21e61a18 100644 --- a/test/-ext-/symbol/test_type.rb +++ b/test/-ext-/symbol/test_type.rb @@ -120,5 +120,19 @@ module Test_Symbol assert_symtype(Bug::Symbol.attrset("foo!="), :attrset?) assert_equal(:"foo!=", Bug::Symbol.attrset(:foo!)) end + + def test_check_id_invalid_type + cx = EnvUtil.labeled_class("X\u{1f431}") + assert_raise_with_message(TypeError, /X\u{1F431}/) { + Bug::Symbol.pinneddown?(cx) + } + end + + def test_check_symbol_invalid_type + cx = EnvUtil.labeled_class("X\u{1f431}") + assert_raise_with_message(TypeError, /X\u{1F431}/) { + Bug::Symbol.find(cx) + } + end end end -- cgit v1.2.3