Exemplo n.º 1
0
        public void TestSmtpDataFilterEnsureNewLine()
        {
            var inputs  = new string[] { SimpleDataInput.TrimEnd(), ComplexDataInput.TrimEnd() };
            var outputs = new string[] { SimpleDataInput, ComplexDataOutput };
            var filter  = new SmtpDataFilter();

            for (int i = 0; i < inputs.Length; i++)
            {
                using (var memory = new MemoryStream()) {
                    byte[] buffer;
                    int    n;

                    using (var filtered = new FilteredStream(memory)) {
                        filtered.Add(filter);

                        buffer = Encoding.ASCII.GetBytes(inputs[i]);
                        filtered.Write(buffer, 0, buffer.Length);
                        filtered.Flush();
                    }

                    buffer = memory.GetBuffer();
                    n      = (int)memory.Length;

                    var text = Encoding.ASCII.GetString(buffer, 0, n);

                    Assert.AreEqual(outputs[i], text);

                    filter.Reset();
                }
            }
        }
Exemplo n.º 2
0
        public void TestSmtpDataFilterBufferBoundaryNonNewLineEnsureNewLine()
        {
            string output = new string ('x', 72) + ".hello\r\n";
            var    filter = new SmtpDataFilter();

            using (var memory = new MemoryStream()) {
                byte[] buffer;
                int    n;

                using (var filtered = new FilteredStream(memory)) {
                    filtered.Add(filter);

                    buffer = Encoding.ASCII.GetBytes(new string ('x', 72));
                    filtered.Write(buffer, 0, buffer.Length);

                    buffer = Encoding.ASCII.GetBytes(".hello");
                    filtered.Write(buffer, 0, buffer.Length);

                    filtered.Flush();
                }

                buffer = memory.GetBuffer();
                n      = (int)memory.Length;

                var text = Encoding.ASCII.GetString(buffer, 0, n);

                Assert.AreEqual(output, text);
            }
        }