public void as_xml_document()
        {
            Assert.Throws <ArgumentNullException>(() => XmlExtensions.AsXmlDocument(null));
            Assert.Throws <XmlException>(() => Stream.Null.AsXmlDocument());

            const string Xml = "<?xml version=\"1.0\" encoding=\"utf-16\"?><article>text</article>";

            using (var stream = new MemoryStream(Xml.Bytes(Encoding.UTF32)))
            {
                Assert.Throws <XmlException>(() => stream.AsXmlDocument());
            }

            using (var stream = new MemoryStream(Xml.Bytes(Encoding.Unicode)))
            {
                Assert.Equal(Xml, stream.AsXmlDocument().String());
                Assert.Equal(0, stream.Bytes().Length);
                Assert.Equal(-1, stream.ReadByte());
            }

            using (var stream = new MemoryStream(Xml.Bytes(Encoding.Unicode)))
            {
                Assert.Equal(Xml, stream.AsXmlDocument(true).String());
                Assert.Throws <ObjectDisposedException>(() => stream.ReadByte());
            }
        }
Exemple #2
0
        public void xml_reader_stream()
        {
            Assert.Throws <ArgumentNullException>(() => ((Stream)(null)).XmlReader());

            const string Xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><article>text</article>";

            using (var stream = new MemoryStream(Xml.Bytes()))
            {
                var reader = stream.XmlReader();
                Assert.False(reader.Settings.CloseInput);
                Assert.True(reader.Settings.IgnoreComments);
                Assert.True(reader.Settings.IgnoreWhitespace);
                reader.ReadStartElement("article");
                Assert.Equal("text", reader.ReadString());
                reader.ReadEndElement();
                reader.Close();
                Assert.Equal(0, stream.Bytes().Length);
                Assert.Equal(-1, stream.ReadByte());
            }

            using (var stream = new MemoryStream(Xml.Bytes()))
            {
                stream.XmlReader(true).Close();
                //Assert.True(reader.Settings.CloseInput);
                Assert.Throws <ObjectDisposedException>(() => stream.ReadByte());
            }
        }