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:
parent
7839730132
commit
358840fa7d
@ -1,3 +1,8 @@
|
|||||||
|
Tue Nov 18 03:23:06 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* object.c (check_setter_id): show the original argument instead
|
||||||
|
of nil on TypeError.
|
||||||
|
|
||||||
Tue Nov 18 03:20:19 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Tue Nov 18 03:20:19 2014 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* symbol.h (is_{local,global,instance,attrset,const,class,junk}_sym):
|
* symbol.h (is_{local,global,instance,attrset,const,class,junk}_sym):
|
||||||
|
4
object.c
4
object.c
@ -1930,8 +1930,8 @@ check_setter_id(VALUE name, int (*valid_id_p)(ID), int (*valid_name_p)(VALUE),
|
|||||||
else {
|
else {
|
||||||
VALUE str = rb_check_string_type(name);
|
VALUE str = rb_check_string_type(name);
|
||||||
if (NIL_P(str)) {
|
if (NIL_P(str)) {
|
||||||
rb_raise(rb_eTypeError, "%+"PRIsVALUE" is not a symbol or string",
|
rb_raise(rb_eTypeError, "% "PRIsVALUE" is not a symbol or string",
|
||||||
str);
|
name);
|
||||||
}
|
}
|
||||||
if (!valid_name_p(str)) {
|
if (!valid_name_p(str)) {
|
||||||
rb_name_error_str(str, message, QUOTE(str));
|
rb_name_error_str(str, message, QUOTE(str));
|
||||||
|
@ -677,14 +677,16 @@ class TestModule < Test::Unit::TestCase
|
|||||||
|
|
||||||
def test_const_set_invalid_name
|
def test_const_set_invalid_name
|
||||||
c1 = Class.new
|
c1 = Class.new
|
||||||
assert_raise(NameError) { c1.const_set(:foo, :foo) }
|
assert_raise_with_message(NameError, /foo/) { c1.const_set(:foo, :foo) }
|
||||||
assert_raise(NameError) { c1.const_set("bar", :foo) }
|
assert_raise_with_message(NameError, /bar/) { c1.const_set("bar", :foo) }
|
||||||
assert_raise(TypeError) { c1.const_set(1, :foo) }
|
assert_raise_with_message(TypeError, /1/) { c1.const_set(1, :foo) }
|
||||||
assert_nothing_raised(NameError) { c1.const_set("X\u{3042}", :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-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-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-32be"), :foo) }
|
||||||
assert_raise(NameError) { c1.const_set("X\u{3042}".encode("utf-32le"), :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
|
end
|
||||||
|
|
||||||
def test_const_get_invalid_name
|
def test_const_get_invalid_name
|
||||||
|
Loading…
x
Reference in New Issue
Block a user