Example #1
0
 void Compare(MimeFieldParameters mfp, StringDictionary pd)
 {
     foreach (string key in pd.Keys)
     {
         Assert.Equal(pd[key], mfp[key]);
     }
 }
Example #2
0
        /// <summary>
        /// Serialize to a string
        /// </summary>
        /// <returns></returns>
        public string Serialize()
        {
            StringBuilder sb = new StringBuilder();

            MimeFieldParameters.Write(sb, this, true);
            return(sb.ToString());
        }
Example #3
0
        /// <summary>
        /// Deserialize the field value of a Document-Source field
        /// </summary>
        /// <param name="text"></param>
        /// <returns></returns>
        public static DocumentSource Deserialize(string text)
        {
            if (string.IsNullOrEmpty(text))
            {
                throw new ArgumentException("text");
            }
            string name  = null;
            string value = null;

            foreach (KeyValuePair <string, string> fieldParam in MimeFieldParameters.Read(text))
            {
                if (MimeStandard.Equals(fieldParam.Key, ParameterNames.Name))
                {
                    name = fieldParam.Value;
                }
                else if (MimeStandard.Equals(fieldParam.Key, ParameterNames.Source))
                {
                    value = fieldParam.Value;
                }
            }

            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentException("Invalid Document Source");
            }

            return(new DocumentSource(name, value));
        }
Example #4
0
        public void TestDisposition(ContentDisposition disposition, int paramCount)
        {
            string fieldText = disposition.ToString();

            MimeFieldParameters fieldParams = new MimeFieldParameters();

            Assert.DoesNotThrow(() => fieldParams.Deserialize(fieldText));
            Assert.True(fieldParams.Count == paramCount);

            Assert.Equal(disposition.DispositionType, fieldParams[0].Value);
            Assert.Equal(disposition.FileName, fieldParams["filename"]);

            Assert.DoesNotThrow(() => Compare(fieldParams, disposition.Parameters));

            string fieldTextSerialized = null;

            Assert.DoesNotThrow(() => fieldTextSerialized = fieldParams.Serialize());

            fieldParams.Clear();
            Assert.DoesNotThrow(() => fieldParams.Deserialize(fieldTextSerialized));
            Assert.True(fieldParams.Count == paramCount);
            Console.WriteLine(fieldTextSerialized);
            string alwaysfails =
                "attachment;size=123456789;xyz=\"pqr/?.<\";read-date=\"Thu, 10 Apr 2014 11:27:31 +0000\";filename=\"goobar.txt\";modification-date=\"Tue, 08 Apr 2014 11:27:31 +0000\";creation-date=\"Sat, 05 Apr 2014 11:27:31 +0000";

            Assert.DoesNotThrow(() => new ContentDisposition(alwaysfails));
            Assert.DoesNotThrow(() => new ContentDisposition(fieldTextSerialized));
        }
Example #5
0
        public void TestContentType(ContentType contentType, int paramCount)
        {
            string fieldText = contentType.ToString();

            MimeFieldParameters fieldParams = new MimeFieldParameters();

            Assert.DoesNotThrow(() => fieldParams.Deserialize(fieldText));
            Assert.True(fieldParams.Count == paramCount);

            Assert.Equal(contentType.MediaType, fieldParams[0].Value);
            Assert.Equal <string>(contentType.Name, fieldParams["name"]);

            Assert.DoesNotThrow(() => Compare(fieldParams, contentType.Parameters));

            string fieldTextSerialized = null;

            Assert.DoesNotThrow(() => fieldTextSerialized = fieldParams.Serialize());

            fieldParams.Clear();
            Assert.DoesNotThrow(() => fieldParams.Deserialize(fieldTextSerialized));
            Assert.True(fieldParams.Count == paramCount);

            Assert.DoesNotThrow(() => new ContentType(fieldTextSerialized));
        }
Example #6
0
        public void TestDisposition(ContentDisposition disposition, int paramCount)
        {
            string fieldText = disposition.ToString();

            MimeFieldParameters fieldParams = new MimeFieldParameters();

            Assert.DoesNotThrow(() => fieldParams.Deserialize(fieldText));
            Assert.True(fieldParams.Count == paramCount);

            Assert.Equal(disposition.DispositionType, fieldParams[0].Value);
            Assert.Equal(disposition.FileName, fieldParams["filename"]);

            Assert.DoesNotThrow(() => Compare(fieldParams, disposition.Parameters));

            string fieldTextSerialized = null;

            Assert.DoesNotThrow(() => fieldTextSerialized = fieldParams.Serialize());

            fieldParams.Clear();
            Assert.DoesNotThrow(() => fieldParams.Deserialize(fieldTextSerialized));
            Assert.True(fieldParams.Count == paramCount);

            Assert.DoesNotThrow(() => new ContentDisposition(fieldTextSerialized));
        }
Example #7
0
 public void TestContentType(ContentType contentType, int paramCount)
 {
     string fieldText = contentType.ToString();
     
     MimeFieldParameters fieldParams = new MimeFieldParameters();
     Assert.DoesNotThrow(() => fieldParams.Deserialize(fieldText));
     Assert.True(fieldParams.Count == paramCount);
     
     Assert.Equal(contentType.MediaType, fieldParams[0].Value);
     Assert.Equal<string>(contentType.Name, fieldParams["name"]);
     
     Assert.DoesNotThrow(() => Compare(fieldParams, contentType.Parameters));
     
     string fieldTextSerialized = null;
     Assert.DoesNotThrow(() => fieldTextSerialized = fieldParams.Serialize());
     
     fieldParams.Clear();
     Assert.DoesNotThrow(() => fieldParams.Deserialize(fieldTextSerialized));
     Assert.True(fieldParams.Count == paramCount);
     
     Assert.DoesNotThrow(() => new ContentType(fieldTextSerialized));            
 }
Example #8
0
 void Compare(MimeFieldParameters mfp, StringDictionary pd)
 {   
     foreach(string key in pd.Keys)
     {
         Assert.Equal(pd[key], mfp[key]);
     }
 } 
Example #9
0
        public void TestDisposition(ContentDisposition disposition, int paramCount)
        {
            string fieldText = disposition.ToString();

            MimeFieldParameters fieldParams = new MimeFieldParameters();
            Assert.DoesNotThrow(() => fieldParams.Deserialize(fieldText));
            Assert.True(fieldParams.Count == paramCount);

            Assert.Equal(disposition.DispositionType, fieldParams[0].Value);
            Assert.Equal(disposition.FileName, fieldParams["filename"]);
            
            Assert.DoesNotThrow(() => Compare(fieldParams, disposition.Parameters));
            
            string fieldTextSerialized = null;
            Assert.DoesNotThrow(() => fieldTextSerialized = fieldParams.Serialize());

            fieldParams.Clear();
            Assert.DoesNotThrow(() => fieldParams.Deserialize(fieldTextSerialized));
            Assert.True(fieldParams.Count == paramCount);
            
            Assert.DoesNotThrow(() => new ContentDisposition(fieldTextSerialized));
        }
        public void TestDisposition(ContentDisposition disposition, int paramCount)
        {
            string fieldText = disposition.ToString();

            MimeFieldParameters fieldParams = new MimeFieldParameters();
            Assert.DoesNotThrow(() => fieldParams.Deserialize(fieldText));
            Assert.True(fieldParams.Count == paramCount);

            Assert.Equal(disposition.DispositionType, fieldParams[0].Value);
            Assert.Equal(disposition.FileName, fieldParams["filename"]);

            Assert.DoesNotThrow(() => Compare(fieldParams, disposition.Parameters));

            string fieldTextSerialized = null;
            Assert.DoesNotThrow(() => fieldTextSerialized = fieldParams.Serialize());

            fieldParams.Clear();
            Assert.DoesNotThrow(() => fieldParams.Deserialize(fieldTextSerialized));
            Assert.True(fieldParams.Count == paramCount);
            Console.WriteLine(fieldTextSerialized);
            string alwaysfails =
                "attachment;size=123456789;xyz=\"pqr/?.<\";read-date=\"Thu, 10 Apr 2014 11:27:31 +0000\";filename=\"goobar.txt\";modification-date=\"Tue, 08 Apr 2014 11:27:31 +0000\";creation-date=\"Sat, 05 Apr 2014 11:27:31 +0000";
            Assert.DoesNotThrow(() => new ContentDisposition(alwaysfails));
            Assert.DoesNotThrow(() => new ContentDisposition(fieldTextSerialized));
        }