diff options
Diffstat (limited to 'tests/test_json_generate.rb')
-rwxr-xr-x | tests/test_json_generate.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/test_json_generate.rb b/tests/test_json_generate.rb index 9b0cff4..bc4e395 100755 --- a/tests/test_json_generate.rb +++ b/tests/test_json_generate.rb @@ -177,4 +177,17 @@ EOT assert_raises(JSON::NestingError) { ary.to_json(s) } assert_equal 19, s.depth end + + def test_gc + bignum_too_long_to_embed_as_string = 1234567890123456789012345 + expect = bignum_too_long_to_embed_as_string.to_s + stress, GC.stress = GC.stress, true + + 10.times do |i| + tmp = bignum_too_long_to_embed_as_string.to_json + assert_equal expect, tmp + end + ensure + GC.stress = stress + end if GC.respond_to?(:stress=) end |