diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-06-28 17:10:26 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-06-28 17:10:26 +0000 |
commit | 548b97e70c9115feaee8011a7b28c2a2f9660147 (patch) | |
tree | 31a9f8d6f033fdf463a1757cefd1142f36bd2327 | |
parent | b90a5f9334a84b46a49b0966ecd250c2e52a8312 (diff) | |
download | ruby-548b97e70c9115feaee8011a7b28c2a2f9660147.tar.gz |
insns.def: preserve encoding
* insns.def (defineclass): preserve encoding of name in error
messages for super class mismatch.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | insns.def | 4 | ||||
-rw-r--r-- | test/ruby/test_class.rb | 3 |
3 files changed, 9 insertions, 3 deletions
@@ -1,4 +1,7 @@ -Mon Jun 29 02:08:01 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> +Mon Jun 29 02:10:10 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * insns.def (defineclass): preserve encoding of name in error + messages for super class mismatch. * insns.def (defineclass): preserve encoding of name in error messages for non-class super. @@ -869,8 +869,8 @@ defineclass tmp = rb_class_real(RCLASS_SUPER(klass)); if (tmp != super) { - rb_raise(rb_eTypeError, "superclass mismatch for class %s", - rb_id2name(id)); + rb_raise(rb_eTypeError, "superclass mismatch for class % "PRIsVALUE"", + rb_id2str(id)); } } } diff --git a/test/ruby/test_class.rb b/test/ruby/test_class.rb index 27558e33dd..9c016dd693 100644 --- a/test/ruby/test_class.rb +++ b/test/ruby/test_class.rb @@ -369,6 +369,9 @@ class TestClass < Test::Unit::TestCase end end; } + assert_raise_with_message(TypeError, /#{n}/) { + m.module_eval "class #{n} < Class.new; end" + } end def test_cloned_singleton_method_added |