svn path=/trunk/mcs/; revision=65764
authorSebastien Pouliot <sebastien@ximian.com>
Thu, 21 Sep 2006 13:14:50 +0000 (13:14 -0000)
committerSebastien Pouliot <sebastien@ximian.com>
Thu, 21 Sep 2006 13:14:50 +0000 (13:14 -0000)
mcs/class/System.Drawing/Test/System.Drawing/GDIPlusTest.cs
mcs/class/System.Drawing/Test/System.Drawing/TestStringFormat.cs

index dfbba65f93eb21e9d119fb32456130425e5057c7..78d71be1471cae55e140705aba50de3bfb03c284 100644 (file)
@@ -948,6 +948,13 @@ namespace MonoTests.System.Drawing {
 
                        CheckStringFormat (sf, (StringFormatFlags) Int32.MinValue, StringTrimming.Character);
 
+                       CharacterRange[] ranges = new CharacterRange[32];
+                       Assert.AreEqual (Status.InvalidParameter, GDIPlus.GdipSetStringFormatMeasurableCharacterRanges (IntPtr.Zero, 1, ranges), "GdipSetStringFormatMeasurableCharacterRanges-null");
+                       Assert.AreEqual (Status.InvalidParameter, GDIPlus.GdipSetStringFormatMeasurableCharacterRanges (IntPtr.Zero, -1, ranges), "GdipSetStringFormatMeasurableCharacterRanges-negative");
+                       Assert.AreEqual (Status.Ok, GDIPlus.GdipSetStringFormatMeasurableCharacterRanges (sf, 1, ranges), "GdipSetStringFormatMeasurableCharacterRanges");
+                       Assert.AreEqual (Status.Ok, GDIPlus.GdipSetStringFormatMeasurableCharacterRanges (sf, 32, ranges), "GdipSetStringFormatMeasurableCharacterRanges-32");
+                       Assert.AreEqual (Status.ValueOverflow, GDIPlus.GdipSetStringFormatMeasurableCharacterRanges (sf, 33, ranges), "GdipSetStringFormatMeasurableCharacterRanges-33");
+
                        Assert.AreEqual (Status.InvalidParameter, GDIPlus.GdipDeleteStringFormat (IntPtr.Zero), "GdipDeleteStringFormat-null");
                        Assert.AreEqual (Status.Ok, GDIPlus.GdipDeleteStringFormat (sf), "GdipDeleteStringFormat");
                }
index 8e316ee29ca7d898954ed729099cadd3188f7ba3..8921f9739cd3d2b5038cac6c73aff8ec9ae9487e 100644 (file)
@@ -321,5 +321,24 @@ namespace MonoTests.System.Drawing{
                                sf.SetMeasurableCharacterRanges (range);
                        }
                }
+
+               [Test]
+               public void SetMeasurableCharacterRanges_Max ()
+               {
+                       using (StringFormat sf = new StringFormat ()) {
+                               CharacterRange[] range = new CharacterRange[32];
+                               sf.SetMeasurableCharacterRanges (range);
+                       }
+               }
+
+               [Test]
+               [ExpectedException (typeof (OverflowException))]
+               public void SetMeasurableCharacterRanges_TooBig ()
+               {
+                       using (StringFormat sf = new StringFormat ()) {
+                               CharacterRange[] range = new CharacterRange[33];
+                               sf.SetMeasurableCharacterRanges (range);
+                       }
+               }
        }
 }