////////////////////////////////////////////////////////////////////// /// <summary>Parses an xml node to create an Rfc822Msg object.</summary> /// <param name="node">the xml parses node, can be NULL</param> /// <param name="parser">the xml parser to use if we need to dive deeper</param> /// <returns>the created SimpleElement object</returns> ////////////////////////////////////////////////////////////////////// public override IExtensionElementFactory CreateInstance(XmlNode node, AtomFeedParser parser) { Tracing.TraceCall(); Rfc822MsgElement e = null; if (node != null) { object localname = node.LocalName; if (!localname.Equals(this.XmlName) || !node.NamespaceURI.Equals(this.XmlNameSpace)) { return(null); } } // memberwise close is fine here, as everything is identical beside the value e = this.MemberwiseClone() as Rfc822MsgElement; e.InitInstance(this); if (node != null) { e.Value = System.Text.Encoding.ASCII.GetBytes(node.InnerText); } e.ProcessAttributes(node); e.ProcessChildNodes(node, parser); return(e); }
public void ParseXmlTest() { // Test parsing an XML document into an Rfc822MsgElement. XmlDocument document = new XmlDocument(); document.LoadXml(xmlElementAsText); rfc822Msg = rfc822Msg.CreateInstance(document.FirstChild, new AtomFeedParser()) as Rfc822MsgElement; Assert.IsNotNull(rfc822Msg, "Parsed Rfc822MsgElement should not be null"); Assert.AreEqual("Hi", Encoding.ASCII.GetString(rfc822Msg.Value), "Message does not have correct value after setting"); }
public void SaveXmlTest() { // Test saving an Rfc822MsgElement using an XmlWriter. rfc822Msg = new Rfc822MsgElement("Hi"); StringBuilder sb = new StringBuilder(); XmlWriter writer = new XmlTextWriter(new StringWriter(sb)); rfc822Msg.Save(writer); writer.Close(); Assert.AreEqual(xmlElementAsText, sb.ToString(), "Saved XML form of Rfc822MsgElement is not correct"); }
public void SetEncodingTest() { rfc822Msg = new Rfc822MsgElement(Encoding.ASCII.GetBytes("SGVsbG8h"), Rfc822MsgElement.EncodingMethod.BASE64); Assert.AreEqual(Rfc822MsgElement.EncodingMethod.BASE64, rfc822Msg.MessageEncoding, "Message does not have correct encoding after setting"); }
public void SetMessageStringTest() { rfc822Msg = new Rfc822MsgElement("Hi"); Assert.AreEqual("Hi", Encoding.ASCII.GetString(rfc822Msg.Value), "Message does not have correct value after setting"); Assert.AreEqual("Hi", rfc822Msg.ToString(), "Message does not have correct value after setting"); }
public void SetMessageByteArrayTest() { rfc822Msg = new Rfc822MsgElement(new byte[] { (byte)'H', (byte)'i' }); Assert.AreEqual("Hi", Encoding.ASCII.GetString(rfc822Msg.Value), "Message does not have correct value after setting"); Assert.AreEqual("Hi", rfc822Msg.ToString(), "Message does not have correct value after setting"); }
public void Init() { rfc822Msg = new Rfc822MsgElement(); }