diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-29 18:40:48 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-29 18:40:48 +0000 |
commit | 5d394118fff7fb94cbba4fc2e3f6d740932e33ce (patch) | |
tree | cd9447523d9ad885f41f5299dea78b8e2db4ec8f /test/ruby/test_parse.rb | |
parent | abeb6dce85257f97e1674da67f10c02637a1a09a (diff) | |
download | ruby-5d394118fff7fb94cbba4fc2e3f6d740932e33ce.tar.gz |
* parse.y (parser_tokadd_utf8, parser_tokadd_string): allow NUL
containing symbol literals, as well as String#to_sym.
[ruby-dev:41447]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_parse.rb')
-rw-r--r-- | test/ruby/test_parse.rb | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/test/ruby/test_parse.rb b/test/ruby/test_parse.rb index 49ecfc56ed..14990be12c 100644 --- a/test/ruby/test_parse.rb +++ b/test/ruby/test_parse.rb @@ -491,14 +491,16 @@ class TestParse < Test::Unit::TestCase end def test_symbol - assert_raise(SyntaxError) do - eval ":'foo\0bar'" + bug = '[ruby-dev:41447]' + sym = "foo\0bar".to_sym + assert_nothing_raised(SyntaxError, bug) do + assert_equal(sym, eval(":'foo\0bar'")) end - assert_raise(SyntaxError) do - eval ':"foo\u0000bar"' + assert_nothing_raised(SyntaxError, bug) do + assert_equal(sym, eval(':"foo\u0000bar"')) end - assert_raise(SyntaxError) do - eval ':"foo\u{0}bar"' + assert_nothing_raised(SyntaxError, bug) do + assert_equal(sym, eval(':"foo\u{0}bar"')) end assert_raise(SyntaxError) do eval ':"foo\u{}bar"' |