[ruby/json] Fix JSON::GeneratorError#detailed_message with Ruby < 3.2
https://github.com/ruby/json/commit/2e015ff839
This commit is contained in:
parent
f7af75d3d9
commit
e20f1f76f4
@ -152,10 +152,13 @@ module JSON
|
||||
end
|
||||
|
||||
def detailed_message(...)
|
||||
# Exception#detailed_message doesn't exist until Ruby 3.2
|
||||
super_message = defined?(super) ? super : message
|
||||
|
||||
if @invalid_object.nil?
|
||||
super
|
||||
super_message
|
||||
else
|
||||
"#{super}\nInvalid object: #{@invalid_object.inspect}"
|
||||
"#{super_message}\nInvalid object: #{@invalid_object.inspect}"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -410,6 +410,14 @@ class JSONGeneratorTest < Test::Unit::TestCase
|
||||
end
|
||||
end
|
||||
|
||||
def test_json_generate_error_detailed_message
|
||||
error = assert_raise JSON::GeneratorError do
|
||||
generate(["\xea"])
|
||||
end
|
||||
|
||||
assert_not_nil(error.detailed_message)
|
||||
end
|
||||
|
||||
def test_json_generate_unsupported_types
|
||||
assert_raise JSON::GeneratorError do
|
||||
generate(Object.new, strict: true)
|
||||
|
Loading…
x
Reference in New Issue
Block a user