summaryrefslogtreecommitdiff
path: root/test/json/json_common_interface_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/json/json_common_interface_test.rb')
-rw-r--r--test/json/json_common_interface_test.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/json/json_common_interface_test.rb b/test/json/json_common_interface_test.rb
index a5d62337e1..1f157da026 100644
--- a/test/json/json_common_interface_test.rb
+++ b/test/json/json_common_interface_test.rb
@@ -162,6 +162,17 @@ class JSONCommonInterfaceTest < Test::Unit::TestCase
assert_equal too_deep, dump(obj, strict: false)
end
+ def test_dump_in_io
+ io = StringIO.new
+ assert_same io, JSON.dump([1], io)
+ assert_equal "[1]", io.string
+
+ big_object = ["a" * 10, "b" * 40, { foo: 1.23 }] * 5000
+ io.rewind
+ assert_same io, JSON.dump(big_object, io)
+ assert_equal JSON.dump(big_object), io.string
+ end
+
def test_dump_should_modify_defaults
max_nesting = JSON.dump_default_options[:max_nesting]
dump([], StringIO.new, 10)