public void FixNewlineAtStartSingleRead() { const string body = "\nfoo\r\nthe message\r\n"; var realStream = new MemoryStream(Encoding.UTF8.GetBytes(body)); var stream = new MalformedMultipartFixingStream(realStream, "foo"); Assert.That(stream.ReadToEnd(), Is.EqualTo("\r\nfoo\r\nthe message\r\n")); }
public void HandlesMultipleReplacements() { const string body = "the message\n--foo\r\nanother message\n--foo\r\n"; var realStream = new MemoryStream(Encoding.UTF8.GetBytes(body)); var stream = new MalformedMultipartFixingStream(realStream, "--foo"); var result = stream.ReadToEnd(); Assert.That(result, Is.EqualTo("the message\r\n--foo\r\nanother message\r\n--foo\r\n")); }
public void Simple() { const string body = "the message\r\nfoo\r\n"; var realStream = new MemoryStream(Encoding.UTF8.GetBytes(body)); var stream = new MalformedMultipartFixingStream(realStream, "foo"); var result = stream.ReadToEnd(); Assert.That(result, Is.EqualTo(body)); }
public void CachesPreviousCharOnPartialMatch() { const string body = "the message\nfoo\r\n"; var realStream = new MemoryStream(Encoding.UTF8.GetBytes(body)); var stream = new MalformedMultipartFixingStream(realStream, "foo"); var buffer = new byte[realStream.Length + 1]; var bytesRead = stream.Read(buffer, 0, "the message".Length); Assert.That(Encoding.UTF8.GetString(buffer, 0, bytesRead) + stream.ReadToEnd(), Is.EqualTo("the message\r\nfoo\r\n")); }
public void FixNewlineAtStartShortRead() { const string body = "\nfoo\r\nthe message\r\n"; var realStream = new MemoryStream(Encoding.UTF8.GetBytes(body)); var stream = new MalformedMultipartFixingStream(realStream, "foo"); var buffer = new byte[2]; var bytesRead = stream.Read(buffer, 0, 2); Assert.That(bytesRead, Is.EqualTo(2)); Assert.That(Encoding.UTF8.GetString(buffer, 0, bytesRead) + stream.ReadToEnd(), Is.EqualTo("\r\nfoo\r\nthe message\r\n")); }