Call nullable WriteValue overloads in TraceJsonWriter (#1139)
Fixes #1138
This commit is contained in:
committed by
James Newton-King
parent
260dfedac5
commit
218c25c859
@@ -7311,6 +7311,36 @@ Path '', line 1, position 1.");
|
||||
Assert.AreEqual(new Guid("d8220a4b-75b1-4b7a-8112-b7bdae956a45"), c.Id);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void SerializeNullableGuidCustomWriterOverridesNullableGuid()
|
||||
{
|
||||
NullableGuid ng = new NullableGuid {Id = Guid.Empty};
|
||||
NullableGuidCountingJsonTextWriter writer = new NullableGuidCountingJsonTextWriter(new StreamWriter(Stream.Null));
|
||||
JsonSerializer serializer = JsonSerializer.Create();
|
||||
serializer.Serialize(writer, ng);
|
||||
Assert.AreEqual(1, writer.NullableGuidCount);
|
||||
MemoryTraceWriter traceWriter = new MemoryTraceWriter();
|
||||
serializer.TraceWriter = traceWriter;
|
||||
serializer.Serialize(writer, ng);
|
||||
Assert.AreEqual(2, writer.NullableGuidCount);
|
||||
}
|
||||
|
||||
private class NullableGuidCountingJsonTextWriter : JsonTextWriter
|
||||
{
|
||||
public NullableGuidCountingJsonTextWriter(TextWriter textWriter)
|
||||
: base(textWriter)
|
||||
{
|
||||
}
|
||||
|
||||
public int NullableGuidCount { get; private set; }
|
||||
|
||||
public override void WriteValue(Guid? value)
|
||||
{
|
||||
base.WriteValue(value);
|
||||
++NullableGuidCount;
|
||||
}
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void DeserializeGuid()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user