From bfdf02ea7290d1d76e457ffbb15cfef5e64bf547 Mon Sep 17 00:00:00 2001 From: Jean Boussier Date: Fri, 18 Oct 2024 15:36:57 +0200 Subject: pretty_generate: don't apply object_nl / array_nl for empty containers Fix: https://github.com/ruby/json/issues/437 Before: ```json { "foo": { }, "bar": [ ] } ``` After: ```json { "foo": {}, "bar": [] } ``` --- test/json/json_generator_test.rb | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'test/json') diff --git a/test/json/json_generator_test.rb b/test/json/json_generator_test.rb index 7dc45e3a52..32712c8343 100755 --- a/test/json/json_generator_test.rb +++ b/test/json/json_generator_test.rb @@ -90,10 +90,17 @@ EOT def test_generate_pretty json = pretty_generate({}) + assert_equal('{}', json) + + json = pretty_generate({1=>{}, 2=>[], 3=>4}) assert_equal(<<'EOT'.chomp, json) { + "1": {}, + "2": [], + "3": 4 } EOT + json = pretty_generate(@hash) # hashes aren't (insertion) ordered on every ruby implementation # assert_equal(@json3, json) -- cgit v1.2.3