diff options
author | Florian Frank <flori@ping.de> | 2011-11-09 01:53:01 +0100 |
---|---|---|
committer | Florian Frank <flori@ping.de> | 2011-11-09 08:48:14 +0100 |
commit | 75a3b423f28088db9c90c338200fbffc2354c9f3 (patch) | |
tree | 82fd9dea1565b2392955563d1291e7bbc39dbf69 /tests | |
parent | b50b1bdeaec8759bdf0d11e1c1f942e0ed6542f5 (diff) | |
download | json-75a3b423f28088db9c90c338200fbffc2354c9f3.tar.gz |
start to make buffer_initial_length configurable
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/test_json_generate.rb | 74 |
1 files changed, 44 insertions, 30 deletions
diff --git a/tests/test_json_generate.rb b/tests/test_json_generate.rb index da96603..58deb3b 100755 --- a/tests/test_json_generate.rb +++ b/tests/test_json_generate.rb @@ -121,48 +121,51 @@ EOT def test_pretty_state state = PRETTY_STATE_PROTOTYPE.dup assert_equal({ - :allow_nan => false, - :array_nl => "\n", - :ascii_only => false, - :quirks_mode => false, - :depth => 0, - :indent => " ", - :max_nesting => 19, - :object_nl => "\n", - :space => " ", - :space_before => "", + :allow_nan => false, + :array_nl => "\n", + :ascii_only => false, + :buffer_initial_length => 4096, + :quirks_mode => false, + :depth => 0, + :indent => " ", + :max_nesting => 19, + :object_nl => "\n", + :space => " ", + :space_before => "", }.sort_by { |n,| n.to_s }, state.to_h.sort_by { |n,| n.to_s }) end def test_safe_state state = SAFE_STATE_PROTOTYPE.dup assert_equal({ - :allow_nan => false, - :array_nl => "", - :ascii_only => false, - :quirks_mode => false, - :depth => 0, - :indent => "", - :max_nesting => 19, - :object_nl => "", - :space => "", - :space_before => "", + :allow_nan => false, + :array_nl => "", + :ascii_only => false, + :buffer_initial_length => 4096, + :quirks_mode => false, + :depth => 0, + :indent => "", + :max_nesting => 19, + :object_nl => "", + :space => "", + :space_before => "", }.sort_by { |n,| n.to_s }, state.to_h.sort_by { |n,| n.to_s }) end def test_fast_state state = FAST_STATE_PROTOTYPE.dup assert_equal({ - :allow_nan => false, - :array_nl => "", - :ascii_only => false, - :quirks_mode => false, - :depth => 0, - :indent => "", - :max_nesting => 0, - :object_nl => "", - :space => "", - :space_before => "", + :allow_nan => false, + :array_nl => "", + :ascii_only => false, + :buffer_initial_length => 4096, + :quirks_mode => false, + :depth => 0, + :indent => "", + :max_nesting => 0, + :object_nl => "", + :space => "", + :space_before => "", }.sort_by { |n,| n.to_s }, state.to_h.sort_by { |n,| n.to_s }) end @@ -198,6 +201,17 @@ EOT assert_equal 19, s.depth end + def test_buffer_initial_length + s = JSON.state.new + assert_equal 4096, s.buffer_initial_length + s.buffer_initial_length = 0 + assert_equal 4096, s.buffer_initial_length + s.buffer_initial_length = -1 + assert_equal 4096, s.buffer_initial_length + s.buffer_initial_length = 128 + assert_equal 128, s.buffer_initial_length + end + def test_gc bignum_too_long_to_embed_as_string = 1234567890123456789012345 expect = bignum_too_long_to_embed_as_string.to_s |