summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES2
-rw-r--r--java/src/json/ext/GeneratorState.java3
-rwxr-xr-xtests/test_json_generate.rb1
3 files changed, 5 insertions, 1 deletions
diff --git a/CHANGES b/CHANGES
index f1a8fcf..a8c0b35 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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]