Don't write duplicate nulls to trace for byte[]

This commit is contained in:
Jon Hanna
2016-12-30 15:20:09 +00:00
parent 2abc38a0ad
commit 5648cb50f7
2 changed files with 23 additions and 1 deletions
@@ -134,6 +134,21 @@ Newtonsoft.Json Error: 0 : Error!
]", traceJsonWriter.GetSerializedJsonMessage()); ]", traceJsonWriter.GetSerializedJsonMessage());
} }
[Test]
public void WriteNullByteArray()
{
StringWriter sw = new StringWriter();
TraceJsonWriter traceJsonWriter = new TraceJsonWriter(new JsonTextWriter(sw));
traceJsonWriter.WriteStartArray();
traceJsonWriter.WriteValue((byte[])null);
traceJsonWriter.WriteEndArray();
StringAssert.AreEqual(@"Serialized JSON:
[
null
]", traceJsonWriter.GetSerializedJsonMessage());
}
[Test] [Test]
public void WriteJRaw() public void WriteJRaw()
{ {
@@ -69,7 +69,14 @@ namespace Newtonsoft.Json.Serialization
{ {
_textWriter.WriteValue(value); _textWriter.WriteValue(value);
_innerWriter.WriteValue(value); _innerWriter.WriteValue(value);
base.WriteValue(value); if (value == null)
{
base.WriteUndefined();
}
else
{
base.WriteValue(value);
}
} }
public override void WriteValue(DateTime value) public override void WriteValue(DateTime value)