mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
34 lines
981 B
Ruby
34 lines
981 B
Ruby
# frozen_string_literal: true
|
|
require_relative 'test_helper'
|
|
|
|
class JSONExtParserTest < Test::Unit::TestCase
|
|
if defined?(JSON::Ext::Parser)
|
|
include JSON
|
|
|
|
def test_allocate
|
|
parser = JSON::Ext::Parser.new("{}")
|
|
assert_raise(TypeError, '[ruby-core:35079]') do
|
|
parser.__send__(:initialize, "{}")
|
|
end
|
|
parser = JSON::Ext::Parser.allocate
|
|
assert_raise(TypeError, '[ruby-core:35079]') { parser.source }
|
|
end
|
|
|
|
def test_error_messages
|
|
ex = assert_raise(ParserError) { parse('Infinity') }
|
|
assert_equal "unexpected token at 'Infinity'", ex.message
|
|
|
|
unless RUBY_PLATFORM =~ /java/
|
|
ex = assert_raise(ParserError) { parse('-Infinity') }
|
|
assert_equal "unexpected token at '-Infinity'", ex.message
|
|
end
|
|
|
|
ex = assert_raise(ParserError) { parse('NaN') }
|
|
assert_equal "unexpected token at 'NaN'", ex.message
|
|
end
|
|
|
|
def parse(json)
|
|
JSON::Ext::Parser.new(json).parse
|
|
end
|
|
end
|
|
end
|