Exemple #1
0
        //////////////////////////////////////////////////////////////////////
        /// <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);
        }
Exemple #2
0
        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");
        }
Exemple #3
0
        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");
        }
Exemple #4
0
 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");
 }
Exemple #5
0
 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");
 }
Exemple #6
0
 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");
 }
Exemple #7
0
 public void Init()
 {
     rfc822Msg = new Rfc822MsgElement();
 }