Jo Shields 3c1f479b9d Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
2015-04-07 09:35:12 +01:00

100 lines
2.3 KiB
C#

//
// AttachmentTest.cs - NUnit Test Cases for System.Net.MailAddress.Attachment
//
// Authors:
// John Luke (john.luke@gmail.com)
//
// (C) 2005 John Luke
//
using NUnit.Framework;
using System;
using System.IO;
using System.Text;
using System.Net.Mail;
using System.Net.Mime;
namespace MonoTests.System.Net.Mail
{
[TestFixture]
public class AttachmentTest
{
Attachment attach;
[SetUp]
public void GetReady ()
{
attach = Attachment.CreateAttachmentFromString ("test", "attachment-name");
}
[Test]
[ExpectedException (typeof (ArgumentNullException))]
public void ArgumentNullException ()
{
Stream s = null;
new Attachment (s, "application/octet-stream");
}
[Test]
public void ConstructorNullName ()
{
new Attachment (new MemoryStream (), null, "application/octet-stream");
}
[Test]
public void CreateAttachmentFromStringNullName ()
{
Attachment.CreateAttachmentFromString ("", null, Encoding.ASCII, "application/octet-stream");
}
[Test]
public void ContentDisposition ()
{
Assert.IsNotNull (attach.ContentDisposition, "#1");
Assert.AreEqual ("attachment", attach.ContentDisposition.DispositionType, "#2");
}
[Test]
public void ContentType ()
{
Assert.IsNotNull (attach.ContentType, "#1");
Assert.AreEqual ("text/plain", attach.ContentType.MediaType, "#2");
Attachment a2 = new Attachment (new MemoryStream (), "myname");
Assert.IsNotNull (a2.ContentType, "#1");
Assert.AreEqual ("application/octet-stream", a2.ContentType.MediaType, "#2");
}
[Test]
public void NameEncoding ()
{
Assert.IsNull (attach.NameEncoding, "#1");
Attachment a = new Attachment (new MemoryStream (), "myname");
Assert.IsNull (a.NameEncoding, "#2");
a = new Attachment (new MemoryStream (), "myname\u3067");
Assert.IsNull (a.NameEncoding, "#3");
}
[Test]
public void ContentStream ()
{
Assert.IsNotNull (attach.ContentStream);
Assert.IsTrue (attach.ContentStream.Length == 4);
}
[Test]
public void Name ()
{
Assert.AreEqual ("attachment-name", attach.Name, "#1");
Attachment a2 = new Attachment (new MemoryStream (), new ContentType ("image/jpeg"));
Assert.AreEqual (null, a2.Name, "#2");
a2.Name = null; // nullable
}
[Test]
public void TransferEncodingTest ()
{
Assert.AreEqual (TransferEncoding.QuotedPrintable, attach.TransferEncoding);
}
}
}