diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-21 05:09:16 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-21 05:09:16 +0000 |
commit | 188d85934be95800b917a0e21e36484622eae610 (patch) | |
tree | fc561a8ae96558a7a5afa0953fbc5f00f03b47e4 /test/ruby/test_string.rb | |
parent | 29c6ca423c42c79033bbb9b0be741b80e856e61c (diff) |
move dump format validation into parsing epilogue
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_string.rb')
-rw-r--r-- | test/ruby/test_string.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/ruby/test_string.rb b/test/ruby/test_string.rb index c2f28b8da2..03ff62b19d 100644 --- a/test/ruby/test_string.rb +++ b/test/ruby/test_string.rb @@ -769,6 +769,9 @@ CODE assert_equal(S(""), S('"\\u{}"').undump) assert_equal(S(""), S('"\\u{ }"').undump) + assert_equal(S("\u3042".encode("sjis")), S('"\x82\xA0"'.force_encoding("sjis")).undump) + assert_equal(S("\u8868".encode("sjis")), S("\"\\x95\\\\\"".force_encoding("sjis")).undump) + assert_equal(S("äöü"), S('"\u00E4\u00F6\u00FC"').undump) assert_equal(S("äöü"), S('"\xC3\xA4\xC3\xB6\xC3\xBC"').undump) @@ -782,10 +785,17 @@ CODE assert_raise(RuntimeError) { S('\u3042').undump } assert_raise(RuntimeError) { S('"".force_encoding()').undump } + assert_raise(RuntimeError) { S('"".force_encoding("').undump } assert_raise(RuntimeError) { S('"".force_encoding("UNKNOWN")').undump } + assert_raise(RuntimeError) { S('"\u3042".force_encoding("UTF-16LE")').undump } + assert_raise(RuntimeError) { S('"\x00\x00".force_encoding("UTF-16LE")"').undump } + assert_raise(RuntimeError) { S('"\x00\x00".force_encoding("'+("a"*9999999)+'")"').undump } assert_raise(RuntimeError) { S(%("\u00E4")).undump } + assert_raise(RuntimeError) { S('"').undump } + assert_raise(RuntimeError) { S('"""').undump } assert_raise(RuntimeError) { S('""""').undump } + assert_raise(RuntimeError) { S('"a').undump } assert_raise(RuntimeError) { S('"\u"').undump } assert_raise(RuntimeError) { S('"\u{"').undump } assert_raise(RuntimeError) { S('"\u304"').undump } |