Imported Upstream version 5.2.0.175

Former-commit-id: bb0468d0f257ff100aa895eb5fe583fb5dfbf900
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2017-06-07 13:16:24 +00:00
parent 4bdbaf4a88
commit 966bba02bb
8776 changed files with 346420 additions and 149650 deletions

View File

@@ -52,31 +52,28 @@ namespace MonoCasTests.System.Drawing.Text {
// TODO - tests for AddFontFile
[Test]
[ExpectedException (typeof (SecurityException))]
[SecurityPermission (SecurityAction.Deny, UnmanagedCode = true)]
public void AddMemoryFont_Deny_UnmanagedCode ()
{
new PrivateFontCollection ().AddMemoryFont (IntPtr.Zero, 1024);
Assert.Throws<SecurityException> (() => new PrivateFontCollection ().AddMemoryFont (IntPtr.Zero, 1024));
}
[Test]
[ExpectedException (typeof (ArgumentException))]
[SecurityPermission (SecurityAction.PermitOnly, UnmanagedCode = true)]
public void AddMemoryFont_PermitOnly_UnmanagedCode ()
{
new PrivateFontCollection ().AddMemoryFont (IntPtr.Zero, 1024);
Assert.Throws<ArgumentException> (() => new PrivateFontCollection ().AddMemoryFont (IntPtr.Zero, 1024));
}
// yes, that fails with FileNotFoundException ;-)
[Test]
[ExpectedException (typeof (FileNotFoundException))]
[SecurityPermission (SecurityAction.PermitOnly, UnmanagedCode = true)]
public void AddMemoryFont_NegativeLength ()
{
IntPtr ptr = Marshal.AllocHGlobal (1024);
try {
new PrivateFontCollection ().AddMemoryFont (ptr, -1024);
Assert.Throws<FileNotFoundException> (() => new PrivateFontCollection ().AddMemoryFont (ptr, -1024));
}
finally {
Marshal.FreeHGlobal (ptr);
@@ -84,13 +81,12 @@ namespace MonoCasTests.System.Drawing.Text {
}
[Test]
[ExpectedException (typeof (FileNotFoundException))]
[SecurityPermission (SecurityAction.PermitOnly, UnmanagedCode = true)]
public void AddMemoryFont_InvalidData ()
{
IntPtr ptr = Marshal.AllocHGlobal (1024);
try {
new PrivateFontCollection ().AddMemoryFont (ptr, 1024);
Assert.Throws<FileNotFoundException> (() => new PrivateFontCollection ().AddMemoryFont (ptr, 1024));
}
finally {
Marshal.FreeHGlobal (ptr);

View File

@@ -38,7 +38,6 @@ using NUnit.Framework;
namespace MonoTests.System.Drawing.Text {
[TestFixture]
[SecurityPermission (SecurityAction.Deny, UnmanagedCode = true)]
public class PrivateFontCollectionTest {
[Test]
@@ -49,40 +48,36 @@ namespace MonoTests.System.Drawing.Text {
}
[Test]
[ExpectedException (typeof (ArgumentNullException))]
public void AddFontFile_Null ()
{
new PrivateFontCollection ().AddFontFile (null);
Assert.Throws<ArgumentNullException> (() => new PrivateFontCollection ().AddFontFile (null));
}
[Test]
[ExpectedException (typeof (ArgumentException))]
public void AddFontFile_Empty ()
{
// badly formetted filename
new PrivateFontCollection ().AddFontFile (String.Empty);
Assert.Throws<ArgumentException> (() => new PrivateFontCollection ().AddFontFile (String.Empty));
}
[Test]
[ExpectedException (typeof (FileNotFoundException))]
[Category ("NotWorking")] // it seems fontconfig doesn't validate on add...
public void AddFontFile_NotAFontFile ()
{
string file = Path.GetTempFileName ();
Assert.IsTrue (File.Exists (file), "Exists");
// even if the file exists....
new PrivateFontCollection ().AddFontFile (file);
Assert.Throws<FileNotFoundException> (() => new PrivateFontCollection ().AddFontFile (file));
}
// tests for AddMemoryFont are available in the CAS unit tests
[Test]
[ExpectedException (typeof (ArgumentException))]
public void Dispose_Family ()
{
PrivateFontCollection pfc = new PrivateFontCollection ();
pfc.Dispose ();
Assert.IsNotNull (pfc.Families);
Assert.Throws<ArgumentException> (() => { var x = pfc.Families; });
// no it's not a ObjectDisposedException
}
}