aboutsummaryrefslogtreecommitdiff
path: root/csharp
diff options
context:
space:
mode:
authorJon Skeet <skeet@pobox.com>2016-05-11 17:23:08 +0100
committerJon Skeet <skeet@pobox.com>2016-05-11 17:23:08 +0100
commitcca2d44ef10bc338e59884d0918c42e05b02d4bd (patch)
tree4e456171f63b3414157b61c900d86548527ec14e /csharp
parenta1938b2aa9ca86ce7ce50c27ff9737c1008d2a03 (diff)
parent835fb947ccd1a65a7c1afec61940ed26101773e5 (diff)
downloadprotobuf-cca2d44ef10bc338e59884d0918c42e05b02d4bd.tar.gz
protobuf-cca2d44ef10bc338e59884d0918c42e05b02d4bd.tar.bz2
protobuf-cca2d44ef10bc338e59884d0918c42e05b02d4bd.zip
Merge pull request #1517 from jhickson/boolvalue
Fix C# Json parsing of well-known type Boolvalue
Diffstat (limited to 'csharp')
-rw-r--r--csharp/src/Google.Protobuf.Test/WellKnownTypes/WrappersTest.cs7
-rw-r--r--csharp/src/Google.Protobuf/JsonParser.cs3
2 files changed, 9 insertions, 1 deletions
diff --git a/csharp/src/Google.Protobuf.Test/WellKnownTypes/WrappersTest.cs b/csharp/src/Google.Protobuf.Test/WellKnownTypes/WrappersTest.cs
index 5b7185dc..18d18be3 100644
--- a/csharp/src/Google.Protobuf.Test/WellKnownTypes/WrappersTest.cs
+++ b/csharp/src/Google.Protobuf.Test/WellKnownTypes/WrappersTest.cs
@@ -417,5 +417,12 @@ namespace Google.Protobuf.WellKnownTypes
TestWellKnownTypes.Descriptor.Fields[TestWellKnownTypes.StringFieldFieldNumber].Accessor.Clear(message);
Assert.IsNull(message.StringField);
}
+
+ [Test]
+ public void GivenBoolValueWhenPerformingRoundTripEncodingViaJsonThenShouldNotExpectObjectAtTopLevel()
+ {
+ var value = new BoolValue { Value = true };
+ Assert.AreEqual(value, JsonParser.Default.Parse<BoolValue>(JsonFormatter.Default.Format(value)));
+ }
}
}
diff --git a/csharp/src/Google.Protobuf/JsonParser.cs b/csharp/src/Google.Protobuf/JsonParser.cs
index d738ebb0..6b6f2d9a 100644
--- a/csharp/src/Google.Protobuf/JsonParser.cs
+++ b/csharp/src/Google.Protobuf/JsonParser.cs
@@ -86,7 +86,8 @@ namespace Google.Protobuf
{ FloatValue.Descriptor.FullName, MergeWrapperField },
{ DoubleValue.Descriptor.FullName, MergeWrapperField },
{ BytesValue.Descriptor.FullName, MergeWrapperField },
- { StringValue.Descriptor.FullName, MergeWrapperField }
+ { StringValue.Descriptor.FullName, MergeWrapperField },
+ { BoolValue.Descriptor.FullName, MergeWrapperField }
};
// Convenience method to avoid having to repeat the same code multiple times in the above