From 2e5e5f661c61f9523b84ec7407a159d13843d17c Mon Sep 17 00:00:00 2001 From: Jan Tattermusch Date: Wed, 18 Jan 2017 21:31:06 +0100 Subject: add test for utf8 status --- src/csharp/Grpc.Core.Tests/ClientServerTest.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/csharp/Grpc.Core.Tests/ClientServerTest.cs b/src/csharp/Grpc.Core.Tests/ClientServerTest.cs index dcdddc769e..6bf9756962 100644 --- a/src/csharp/Grpc.Core.Tests/ClientServerTest.cs +++ b/src/csharp/Grpc.Core.Tests/ClientServerTest.cs @@ -335,6 +335,22 @@ namespace Grpc.Core.Tests Assert.AreEqual(StatusCode.Unimplemented, ex.Status.StatusCode); } + [Test] + public void StatusDetailIsUtf8() + { + // some japanese and chinese characters + var nonAsciiString = "\u30a1\u30a2\u30a3 \u62b5\u6297\u662f\u5f92\u52b3\u7684"; + helper.UnaryHandler = new UnaryServerMethod(async (request, context) => + { + context.Status = new Status(StatusCode.Unknown, nonAsciiString); + return ""; + }); + + var ex = Assert.Throws(() => Calls.BlockingUnaryCall(helper.CreateUnaryCall(), "abc")); + Assert.AreEqual(StatusCode.Unknown, ex.Status.StatusCode); + Assert.AreEqual(nonAsciiString, ex.Status.Detail); + } + [Test] public void ServerCallContext_PeerInfoPresent() { -- cgit v1.2.3