1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

test_module.rb: quote name

* test/ruby/test_module.rb (test_bad_constants, test_invalid_attr):
  encode and quote name properly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2013-10-09 13:27:51 +00:00
parent 437cfad071
commit e3a716a2ab

View file

@ -247,9 +247,9 @@ class TestModule < Test::Unit::TestCase
"",
":",
["String::", "[Bug #7573]"],
"\u{3042}",
"\u3042",
].each do |name, msg|
expected = "wrong constant name %s" % name
expected = "wrong constant name %s" % quote(name)
msg = "#{msg}#{': ' if msg}wrong constant name #{name.dump}"
assert_raise_with_message(NameError, expected, msg) {
Object.const_get name
@ -1659,14 +1659,19 @@ class TestModule < Test::Unit::TestCase
@foo
@@foo
$foo
\u{3042}$
\u3042$
].each do |name|
assert_raise_with_message(NameError, /#{Regexp.quote(name)}/) do
assert_raise_with_message(NameError, /#{Regexp.quote(quote(name))}/) do
Module.new { attr_accessor name.to_sym }
end
end
end
private def quote(name)
encoding = Encoding.default_internal || Encoding.default_external
(name.encoding == encoding || name.ascii_only?) ? name : name.inspect
end
class AttrTest
class << self
attr_accessor :cattr