diff options
Diffstat (limited to 'tests/test_json_generate.rb')
-rwxr-xr-x | tests/test_json_generate.rb | 22 |
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 |