summaryrefslogtreecommitdiff
path: root/tests/test_json_generate.rb
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_json_generate.rb')
-rwxr-xr-xtests/test_json_generate.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/test_json_generate.rb b/tests/test_json_generate.rb
index 978c625..117a155 100755
--- a/tests/test_json_generate.rb
+++ b/tests/test_json_generate.rb
@@ -251,6 +251,22 @@ EOT
assert_equal '5', state2.array_nl
end
+ def test_configure_hash_conversion
+ state = JSON.state.new
+ state.configure(:indent => '1')
+ assert_equal '1', state.indent
+ state = JSON.state.new
+ foo = 'foo'
+ assert_raise(TypeError) do
+ state.configure(foo)
+ end
+ def foo.to_h
+ { :indent => '2' }
+ end
+ state.configure(foo)
+ assert_equal '2', state.indent
+ end
+
if defined?(JSON::Ext::Generator)
def test_broken_bignum # [ruby-core:38867]
pid = fork do
@@ -297,4 +313,10 @@ EOT
assert_kind_of Hash, state_hash
assert_equal :bar, state_hash[:foo]
end
+
+ def test_json_generate
+ assert_raise JSON::GeneratorError do
+ assert_equal true, JSON.generate(["\xea"])
+ end
+ end
end