public void WriteToTwice_Reader() { string xml = "<root><child /><child2 /></root>"; StringWriter sw = new StringWriter(); using (XmlWriter w = GetWriter(sw)) { XmlReader r = XmlReader.Create(new StringReader(xml)); r.Read(); r.Read(); // at child SyndicationElementExtension x = new SyndicationElementExtension(r); w.WriteStartElement("root"); x.WriteTo(w); x.WriteTo(w); // it is VALID. w.WriteEndElement(); } Assert.AreEqual("<root><child></child><child></child></root>", sw.ToString()); }
public void WriteTo_WithReader_ReturnsExpected() { var extension = new SyndicationElementExtension(new XElement("ExtensionObject", new XElement("Value", 10)).CreateReader()); using (var stringWriter = new StringWriter()) { using (var writer = new XmlTextWriter(stringWriter)) { extension.WriteTo(writer); } Assert.Equal(@"<ExtensionObject><Value>10</Value></ExtensionObject>", stringWriter.ToString()); } }
static string ExtensionToString(SyndicationElementExtension extension) { StringBuilder sb = new StringBuilder(); XmlWriterSettings xws = new XmlWriterSettings(); xws.ConformanceLevel = ConformanceLevel.Fragment; xws.Indent = true; xws.Encoding = Encoding.ASCII; XmlWriter xw = XmlWriter.Create(sb, xws); XmlDictionaryWriter xdw = XmlDictionaryWriter.CreateDictionaryWriter(xw); extension.WriteTo(xdw); xdw.Close(); return(sb.ToString()); }
public void WriteTo_ObjectWithXmlSerializer_ReturnsExpected() { var extensionObject = new ExtensionObject { Value = 10 }; var extension = new SyndicationElementExtension(extensionObject, new XmlSerializer(typeof(ExtensionObject))); using (var stringWriter = new StringWriter()) { using (var writer = new XmlTextWriter(stringWriter)) { extension.WriteTo(writer); } Assert.Equal(@"<?xml version=""1.0"" encoding=""utf-16""?><ExtensionObject xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema""><Value>10</Value></ExtensionObject>", stringWriter.ToString()); } }
public void WriteTo_ObjectWithXmlObjectSerializer_ReturnsExpected() { var extensionObject = new ExtensionObject { Value = 10 }; var extension = new SyndicationElementExtension(extensionObject, new DataContractSerializer(typeof(ExtensionObject))); using (var stringWriter = new StringWriter()) { using (var writer = new XmlTextWriter(stringWriter)) { extension.WriteTo(writer); } Assert.Equal(@"<ServiceElementExtensionTests.ExtensionObject xmlns:i=""http://www.w3.org/2001/XMLSchema-instance"" xmlns=""http://schemas.datacontract.org/2004/07/System.ServiceModel.Syndication.Tests""><Value>10</Value></ServiceElementExtensionTests.ExtensionObject>", stringWriter.ToString()); } }
public void WriteTo_NullWriter_ThrowsArgumentNullException() { var extension = new SyndicationElementExtension(new ExtensionObject()); Assert.Throws <ArgumentNullException>("writer", () => extension.WriteTo(null)); }