object.c: fix error message

* object.c (check_setter_id): show the original argument instead
  of nil on TypeError.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2014-11-17 18:23:09 +00:00
parent 7839730132
commit 358840fa7d
3 changed files with 12 additions and 5 deletions

View file

@ -677,14 +677,16 @@ class TestModule < Test::Unit::TestCase
def test_const_set_invalid_name
c1 = Class.new
assert_raise(NameError) { c1.const_set(:foo, :foo) }
assert_raise(NameError) { c1.const_set("bar", :foo) }
assert_raise(TypeError) { c1.const_set(1, :foo) }
assert_raise_with_message(NameError, /foo/) { c1.const_set(:foo, :foo) }
assert_raise_with_message(NameError, /bar/) { c1.const_set("bar", :foo) }
assert_raise_with_message(TypeError, /1/) { c1.const_set(1, :foo) }
assert_nothing_raised(NameError) { c1.const_set("X\u{3042}", :foo) }
assert_raise(NameError) { c1.const_set("X\u{3042}".encode("utf-16be"), :foo) }
assert_raise(NameError) { c1.const_set("X\u{3042}".encode("utf-16le"), :foo) }
assert_raise(NameError) { c1.const_set("X\u{3042}".encode("utf-32be"), :foo) }
assert_raise(NameError) { c1.const_set("X\u{3042}".encode("utf-32le"), :foo) }
cx = EnvUtil.labeled_class("X\u{3042}")
assert_raise_with_message(TypeError, /X\u{3042}/) { c1.const_set(cx, :foo) }
end
def test_const_get_invalid_name