diff options
-rw-r--r-- | CHANGES | 2 | ||||
-rw-r--r-- | java/src/json/ext/GeneratorState.java | 3 | ||||
-rwxr-xr-x | tests/test_json_generate.rb | 1 |
3 files changed, 5 insertions, 1 deletions
@@ -1,5 +1,7 @@ 2013-02-04 (1.7.7) * Remove useless assert in fbuffer implementation. + * Apply patch attached to https://github.com/flori/json/issues#issue/155 + provided by John Shahid <jvshahid@gmail.com>, Thx! * Add license information to rubygems spec data, reported by Jordi Massaguer Pla <jmassaguerpla@suse.de>. * Improve documentation, thx to Zachary Scott <zachary@zacharyscott.net>. 2012-11-29 (1.7.6) diff --git a/java/src/json/ext/GeneratorState.java b/java/src/json/ext/GeneratorState.java index 658d6d0..3065307 100644 --- a/java/src/json/ext/GeneratorState.java +++ b/java/src/json/ext/GeneratorState.java @@ -263,7 +263,8 @@ public class GeneratorState extends RubyObject { if (getMetaClass().isMethodBound(name, true)) { return send(context, vName, Block.NULL_BLOCK); } else { - return getInstanceVariables().getInstanceVariable("@" + name); + IRubyObject value = getInstanceVariables().getInstanceVariable("@" + name); + return value == null ? context.nil : value; } } diff --git a/tests/test_json_generate.rb b/tests/test_json_generate.rb index 5947bf6..978c625 100755 --- a/tests/test_json_generate.rb +++ b/tests/test_json_generate.rb @@ -276,6 +276,7 @@ EOT def test_hash_likeness_set_symbol state = JSON.state.new assert_equal nil, state[:foo] + assert_equal nil.class, state[:foo].class assert_equal nil, state['foo'] state[:foo] = :bar assert_equal :bar, state[:foo] |