Exemple #1
0
        public void TestCRLFAtStart()
        {
            using (MemoryStream stream = GetStream("\r\nHello, World!"))
                using (ShellStream shellStream = new ShellStream(stream, false))
                    using (StreamReader reader = new StreamReader(shellStream))
                    {
                        Assert.Equal((int)'\n', shellStream.ReadByte());

                        stream.Position = 0;
                        byte[] buffer = new byte[2];
                        var    read   = shellStream.Read(buffer, 0, 2);
                        Assert.Equal(2, read);
                        Assert.Equal((byte)'\n', buffer[0]);
                        Assert.Equal((byte)'H', buffer[1]);

                        stream.Position = 0;
                        Assert.Equal("\nHello, World!", reader.ReadToEnd());
                    }
        }
Exemple #2
0
        public void MultipleCRLFInString()
        {
            using (MemoryStream stream = GetStream("\r\n1\r\n2\r\n3\r\n4\r\n5"))
                using (ShellStream shellStream = new ShellStream(stream, false))
                    using (StreamReader reader = new StreamReader(shellStream))
                    {
                        Assert.Equal((int)'\n', shellStream.ReadByte());

                        stream.Position = 0;
                        byte[] buffer = new byte[100];
                        var    read   = shellStream.Read(buffer, 0, 100);

                        var actual = Encoding.ASCII.GetString(buffer, 0, read);
                        Assert.Equal("\n1\n2\n3\n4\n5", actual);
                        Assert.Equal(10, read);

                        for (int i = 10; i < buffer.Length; i++)
                        {
                            Assert.Equal(0, buffer[i]);
                        }
                    }
        }