diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/-ext-/symbol/test_type.rb | 14 | ||||
-rw-r--r-- | test/ruby/test_method.rb | 11 |
2 files changed, 25 insertions, 0 deletions
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 diff --git a/test/ruby/test_method.rb b/test/ruby/test_method.rb index 71d3b30dbf..ac92729f0a 100644 --- a/test/ruby/test_method.rb +++ b/test/ruby/test_method.rb @@ -251,6 +251,13 @@ class TestMethod < Test::Unit::TestCase m = o.method(:bar).unbind assert_raise(TypeError) { m.bind(Object.new) } + cx = EnvUtil.labeled_class("X\u{1f431}") + assert_raise_with_message(TypeError, /X\u{1f431}/) { + o.method(cx) + } + end + + def test_bind_module_instance_method feature4254 = '[ruby-core:34267]' m = M.instance_method(:meth) assert_equal(:meth, m.bind(Object.new).call, feature4254) @@ -276,6 +283,10 @@ class TestMethod < Test::Unit::TestCase assert_raise(TypeError) do Class.new.class_eval { define_method(:bar, o.method(:bar)) } end + cx = EnvUtil.labeled_class("X\u{1f431}") + assert_raise_with_message(TypeError, /X\u{1F431}/) { + Class.new {define_method(cx) {}} + } end def test_define_method_no_proc |