diff --git a/moshi/src/main/java/com/squareup/moshi/JsonAdapter.java b/moshi/src/main/java/com/squareup/moshi/JsonAdapter.java index 4a2621b..a7e3f2a 100644 --- a/moshi/src/main/java/com/squareup/moshi/JsonAdapter.java +++ b/moshi/src/main/java/com/squareup/moshi/JsonAdapter.java @@ -204,6 +204,9 @@ public abstract class JsonAdapter { * @param indent a string containing only whitespace. */ public JsonAdapter indent(final String indent) { + if (indent == null) { + throw new NullPointerException("indent == null"); + } final JsonAdapter delegate = this; return new JsonAdapter() { @Override public T fromJson(JsonReader reader) throws IOException { diff --git a/moshi/src/test/java/com/squareup/moshi/JsonAdapterTest.java b/moshi/src/test/java/com/squareup/moshi/JsonAdapterTest.java index fa32a6d..7adad4e 100644 --- a/moshi/src/test/java/com/squareup/moshi/JsonAdapterTest.java +++ b/moshi/src/test/java/com/squareup/moshi/JsonAdapterTest.java @@ -145,6 +145,24 @@ public final class JsonAdapterTest { + "]"); } + @Test public void indentDisallowsNull() throws Exception { + JsonAdapter adapter = new JsonAdapter() { + @Override public Object fromJson(JsonReader reader) { + throw new AssertionError(); + } + + @Override public void toJson(JsonWriter writer, Object value) { + throw new AssertionError(); + } + }; + try { + adapter.indent(null); + fail(); + } catch (NullPointerException expected) { + assertThat(expected).hasMessage("indent == null"); + } + } + @Test public void serializeNulls() throws Exception { JsonAdapter> serializeNulls = new JsonAdapter>() { @Override public Map fromJson(JsonReader reader) throws IOException {