summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Barrié <etienne.barrie@gmail.com>2025-11-24 15:40:06 +0100
committergit <svn-admin@ruby-lang.org>2025-11-26 14:47:27 +0000
commitdd6a4ea2b9cf6f3ab1ea01e044f3d789fb6d5450 (patch)
tree6036b8a7e2bc1eb3e92ad136b4aedeebda6c3748
parentfb642b78cb89dd26ade620bda16ca78b570a907e (diff)
[ruby/json] Test depth
https://github.com/ruby/json/commit/d02e40324a
-rwxr-xr-xtest/json/json_generator_test.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/json/json_generator_test.rb b/test/json/json_generator_test.rb
index f1fb72ee29..0931668f33 100755
--- a/test/json/json_generator_test.rb
+++ b/test/json/json_generator_test.rb
@@ -282,6 +282,16 @@ class JSONGeneratorTest < Test::Unit::TestCase
end
def test_depth
+ pretty = { object_nl: "\n", array_nl: "\n", space: " ", indent: " " }
+ state = JSON.state.new(**pretty)
+ assert_equal %({\n "foo": 42\n}), JSON.generate({ foo: 42 }, pretty)
+ assert_equal %({\n "foo": 42\n}), state.generate(foo: 42)
+ state.depth = 1
+ assert_equal %({\n "foo": 42\n }), JSON.generate({ foo: 42 }, pretty.merge(depth: 1))
+ assert_equal %({\n "foo": 42\n }), state.generate(foo: 42)
+ end
+
+ def test_depth_nesting_error
ary = []; ary << ary
assert_raise(JSON::NestingError) { generate(ary) }
assert_raise(JSON::NestingError) { JSON.pretty_generate(ary) }