void AssertPreviewText(string path, string expected) { var previewer = new PlainTextPreviewer(); var buffer = new byte[16 * 1024]; string actual; int nread; Assert.AreEqual(TextFormat.Plain, previewer.InputFormat); using (var stream = File.OpenRead(path)) nread = stream.Read(buffer, 0, buffer.Length); var text = Encoding.UTF8.GetString(buffer, 0, nread); actual = previewer.GetPreviewText(text); Assert.AreEqual(expected, actual, "GetPreviewText(string)"); using (var stream = new MemoryStream(buffer, 0, nread, false)) { actual = previewer.GetPreviewText(stream, "utf-8"); Assert.AreEqual(expected, actual, "GetPreviewText(Stream, string)"); stream.Position = 0; actual = previewer.GetPreviewText(stream, Encoding.UTF8); Assert.AreEqual(expected, actual, "GetPreviewText(Stream, Encoding)"); stream.Position = 0; using (var reader = new StreamReader(stream, Encoding.UTF8, false, 4096, true)) { actual = previewer.GetPreviewText(stream, Encoding.UTF8); Assert.AreEqual(expected, actual, "GetPreviewText(TextReader)"); } } }
public void TestEmptyText() { var previewer = new PlainTextPreviewer(); Assert.AreEqual(string.Empty, previewer.GetPreviewText(string.Empty), "string"); using (var reader = new StringReader(string.Empty)) Assert.AreEqual(string.Empty, previewer.GetPreviewText(reader), "TextReader"); using (var stream = new MemoryStream(new byte[0], false)) { Assert.AreEqual(string.Empty, previewer.GetPreviewText(stream, "x-unknown"), "Stream, string"); Assert.AreEqual(string.Empty, previewer.GetPreviewText(stream, Encoding.UTF8), "Stream, Encoding"); } }
public void TestArgumentExceptions() { var previewer = new PlainTextPreviewer(); Assert.Throws <ArgumentOutOfRangeException> (() => previewer.MaximumPreviewLength = 0); Assert.Throws <ArgumentOutOfRangeException> (() => previewer.MaximumPreviewLength = 1025); Assert.Throws <ArgumentNullException> (() => previewer.GetPreviewText((string)null)); Assert.Throws <ArgumentNullException> (() => previewer.GetPreviewText((TextReader)null)); Assert.Throws <ArgumentNullException> (() => previewer.GetPreviewText((Stream)null, "charset")); Assert.Throws <ArgumentNullException> (() => previewer.GetPreviewText(Stream.Null, (string)null)); Assert.Throws <ArgumentNullException> (() => previewer.GetPreviewText((Stream)null, Encoding.ASCII)); Assert.Throws <ArgumentNullException> (() => previewer.GetPreviewText(Stream.Null, (Encoding)null)); }