public void EncodeHeaders_WithCustomUnicodeHeaders_ShouldEncodeHeaders()
{
_headers.Add("X-Custom", CustomUnicodeHeaderValue);
_message.EncodeHeaders(_headers, false);
string encodedHeader = _headers.Get("X-Custom");
Assert.True(encodedHeader.StartsWith("="));
Assert.True(encodedHeader.EndsWith("="));
//should contain no unicode
Assert.False(ContainsNonAscii(encodedHeader), encodedHeader);
Assert.Equal(Encoding.UTF8, _message.HeadersEncoding);
// Allow Unicode
_headers.Clear();
_headers.Add("X-Custom", CustomUnicodeHeaderValue);
_message.EncodeHeaders(_headers, true);
encodedHeader = _headers.Get("X-Custom");
Assert.False(encodedHeader.StartsWith("="));
Assert.False(encodedHeader.EndsWith("="));
//should contain unicode
Assert.True(ContainsNonAscii(encodedHeader), encodedHeader);
}