diff --git a/grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/json/JSONWriterSpec.groovy b/grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/json/JSONWriterSpec.groovy index 4dec8cd8919..5fca00d752c 100644 --- a/grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/json/JSONWriterSpec.groovy +++ b/grails-test-suite-web/src/test/groovy/org/codehaus/groovy/grails/web/json/JSONWriterSpec.groovy @@ -1,5 +1,6 @@ package org.codehaus.groovy.grails.web.json +import groovy.transform.CompileStatic; import spock.lang.Ignore import spock.lang.Issue import spock.lang.Specification @@ -19,4 +20,26 @@ class JSONWriterSpec extends Specification { '{"namespace":"alpha/beta"}' == writer.toString() } + void 'should handle nulls'() { + given: + def writer = new StringWriter() + def jsonWriter = new JSONWriter(writer) + when: + jsonWriter.array() + writeNumber(jsonWriter, null) + writeObject(jsonWriter, null) + jsonWriter.endArray() + then: + '[{"key":null},{"key":null}]' == writer.toString() + } + + @CompileStatic + private writeNumber(JSONWriter jsonWriter, Number n) { + jsonWriter.object().key('key').value(n).endObject() + } + + @CompileStatic + private writeObject(JSONWriter jsonWriter, Object o) { + jsonWriter.object().key('key').value(o).endObject() + } }