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()); } }
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()); } }