コード例 #1
0
        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)");
                }
            }
        }
コード例 #2
0
        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");
            }
        }
コード例 #3
0
        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));
        }