summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJason R. Clark <jclark@newrelic.com>2014-09-19 15:43:45 -0700
committerJason R. Clark <jclark@newrelic.com>2014-09-19 15:43:47 -0700
commit98780de119d7857f0b83fa61123fd7d768414abb (patch)
treef9f90b6402cc2b7e4505aab806a73f3fc09ec7fb /tests
parent5a4331918f61a8a4dbe12df8a12f66e5b4e4811a (diff)
downloadjson-98780de119d7857f0b83fa61123fd7d768414abb.tar.gz
Don't mutate JSON.dump_default_options from dump
The use of Hash#update from the JSON.dump method was mutating the dump_default_options hash on any call to dump with a limit provided. An individual method call with an overriding value shouldn't update the defaults in this way.
Diffstat (limited to 'tests')
-rwxr-xr-xtests/test_json.rb6
1 files changed, 6 insertions, 0 deletions
diff --git a/tests/test_json.rb b/tests/test_json.rb
index 6af6b32..f4e6696 100755
--- a/tests/test_json.rb
+++ b/tests/test_json.rb
@@ -515,6 +515,12 @@ EOT
assert_equal too_deep, output.string
end
+ def test_dump_should_modify_defaults
+ max_nesting = JSON.dump_default_options[:max_nesting]
+ JSON.dump([], StringIO.new, 10)
+ assert_equal max_nesting, JSON.dump_default_options[:max_nesting]
+ end
+
def test_big_integers
json1 = JSON([orig = (1 << 31) - 1])
assert_equal orig, JSON[json1][0]