summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Frank <flori@ping.de>2015-01-08 22:35:49 +0100
committerFlorian Frank <flori@ping.de>2015-01-08 22:35:49 +0100
commit83c243437fdd080639175ff35ea348b9b0b05781 (patch)
tree425f2f6ade9bdaa036a54a6eccd040d510a9ea3a
parent302c96471afb002c3418bc7a31141ff783a50e95 (diff)
parent41fee9f1453b57e6f0cd46d16e07e329c16cd17c (diff)
downloadjson-83c243437fdd080639175ff35ea348b9b0b05781.tar.gz
Merge branch 'master' of github.com:flori/json
-rw-r--r--.travis.yml9
-rw-r--r--ext/json/ext/generator/generator.c1
-rwxr-xr-xtests/test_json_generate.rb13
3 files changed, 19 insertions, 4 deletions
diff --git a/.travis.yml b/.travis.yml
index c0d1d34..f1795f7 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,6 @@
# Passes arguments to bundle install (http://gembundler.com/man/bundle-install.1.html)
#bundler_args: --binstubs
+language: ruby
# Specify which ruby versions you wish to run your tests on, each version will be used
rvm:
@@ -10,14 +11,14 @@ rvm:
- 2.1
- 2.2
- ree
- - rbx-18mode
- - rbx-19mode
+ - rbx-2
- jruby-18mode
- jruby-19mode
- ruby-head
matrix:
allow_failures:
- - rvm: rbx-18mode
- - rvm: rbx-19mode
+ - rvm: rbx-2
- rvm: ruby-head
script: "bundle exec rake"
+
+sudo: false
diff --git a/ext/json/ext/generator/generator.c b/ext/json/ext/generator/generator.c
index a474fbb..592b95a 100644
--- a/ext/json/ext/generator/generator.c
+++ b/ext/json/ext/generator/generator.c
@@ -898,6 +898,7 @@ static FBuffer *cState_prepare_buffer(VALUE self)
} else {
state->object_delim2 = fbuffer_alloc(16);
}
+ if (state->space_before) fbuffer_append(state->object_delim2, state->space_before, state->space_before_len);
fbuffer_append_char(state->object_delim2, ':');
if (state->space) fbuffer_append(state->object_delim2, state->space, state->space_len);
diff --git a/tests/test_json_generate.rb b/tests/test_json_generate.rb
index ea6a9a3..8db0b78 100755
--- a/tests/test_json_generate.rb
+++ b/tests/test_json_generate.rb
@@ -73,6 +73,19 @@ EOT
assert_equal '666', pretty_generate(666, :quirks_mode => true)
end
+ def test_generate_custom
+ state = State.new(:space_before => " ", :space => " ", :indent => "<i>", :object_nl => "\n", :array_nl => "<a_nl>")
+ json = generate({1=>{2=>3,4=>[5,6]}}, state)
+ assert_equal(<<'EOT'.chomp, json)
+{
+<i>"1" : {
+<i><i>"2" : 3,
+<i><i>"4" : [<a_nl><i><i><i>5,<a_nl><i><i><i>6<a_nl><i><i>]
+<i>}
+}
+EOT
+ end
+
def test_fast_generate
json = fast_generate(@hash)
assert_equal(JSON.parse(@json2), JSON.parse(json))