示例#1
0
        Line ReadLine(EncodingDetectionTestReader reader, long position)
        {
            long sPos = reader.Stream.Position;
            Line l    = reader.GetLine(position);

            reader.Stream.Seek(sPos, SeekOrigin.Begin);
            return(l);
        }
示例#2
0
        public void TestMethod2()
        {
            EncodingDetectionTestReader tr = new EncodingDetectionTestReader();
            StreamWriter sw = new StreamWriter(tr.Stream, new UTF8Encoding(false));

            sw.Write("Ä");
            sw.Flush();
            tr.GetLine(0);
            Assert.AreEqual(Encoding.UTF8.CodePage, tr.Encoding.CodePage);
        }
示例#3
0
        public void TestMethod4()
        {
            EncodingDetectionTestReader tr = new EncodingDetectionTestReader();
            StreamWriter sw = new StreamWriter(tr.Stream, new UTF8Encoding(false));

            sw.Write("AÄ");
            sw.Flush();
            ReadLine(tr, 0);
            Assert.AreEqual(Encoding.UTF8.CodePage, tr.Encoding.CodePage);
            sw.BaseStream.SetLength(1);
            ReadLine(tr, 0);
            Assert.AreEqual(Encoding.ASCII.CodePage, tr.Encoding.CodePage);
        }
示例#4
0
        public void TestMethod6()
        {
            EncodingDetectionTestReader tr = new EncodingDetectionTestReader();
            StreamWriter sw = new StreamWriter(tr.Stream, new UTF8Encoding(false));

            sw.Write(new String('A', 128 * 1024 - 1));
            sw.Flush();
            ReadLine(tr, 0);
            Assert.AreEqual(Encoding.ASCII.CodePage, tr.Encoding.CodePage);
            sw.Write("Ä");
            sw.Flush();
            ReadLine(tr, 0);
            Assert.AreEqual(Encoding.UTF8.CodePage, tr.Encoding.CodePage);
        }
示例#5
0
        public void TestMethod5()
        {
            EncodingDetectionTestReader tr = new EncodingDetectionTestReader();
            StreamWriter sw = new StreamWriter(tr.Stream, new UTF8Encoding(false));

            sw.Write("AÄ");
            sw.Flush();
            ReadLine(tr, 0);
            Assert.AreEqual(Encoding.UTF8.CodePage, tr.Encoding.CodePage);
            sw.BaseStream.Seek(1, SeekOrigin.Begin);
            sw.Write("AA");
            sw.Flush();
            ReadLine(tr, 0);
            Assert.AreEqual(Encoding.UTF8.CodePage, tr.Encoding.CodePage);
            tr.SetValidationRequired();
            ReadLine(tr, 0);
            Assert.AreEqual(Encoding.ASCII.CodePage, tr.Encoding.CodePage);
        }