diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2016-04-24 02:04:34 +0900 |
---|---|---|
committer | Florian Frank <flori@ping.de> | 2016-06-21 10:56:58 +0200 |
commit | 2d475160b490389060d66980465bb7220b2363e7 (patch) | |
tree | 0f1a117cbe37be130deebe3256ac9ed5669f55c5 /tests/json_parser_test.rb | |
parent | 0a49b1f7d5bccfa324cdc74ba6f899f3925a7830 (diff) | |
download | json-2d475160b490389060d66980465bb7220b2363e7.tar.gz |
Exception encoding
Raise with messages in UTF-8 encoding.
Diffstat (limited to 'tests/json_parser_test.rb')
-rw-r--r-- | tests/json_parser_test.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/json_parser_test.rb b/tests/json_parser_test.rb index d2b0fd1..1d1987b 100644 --- a/tests/json_parser_test.rb +++ b/tests/json_parser_test.rb @@ -19,6 +19,16 @@ class JSONParserTest < Test::Unit::TestCase assert_equal Encoding::UTF_16, source.encoding end if defined?(Encoding::UTF_16) + def test_error_message_encoding + bug10705 = '[ruby-core:67386] [Bug #10705]' + json = ".\"\xE2\x88\x9A\"".force_encoding(Encoding::UTF_8) + e = assert_raise(JSON::ParserError) { + JSON::Ext::Parser.new(json).parse + } + assert_equal(Encoding::UTF_8, e.message.encoding, bug10705) + assert_include(e.message, json, bug10705) + end if defined?(Encoding::UTF_8) and defined?(JSON::Ext::Parser) + def test_parsing parser = JSON::Parser.new('"test"') assert_equal 'test', parser.parse |