Merge pull request #1624 from esdrubal/getprocesstimes
[mono.git] / mcs / class / System / Test / System.IO.Compression / DeflateStreamTest.cs
index 27312640f5ecb49b54808a09dbb5e52e5ee61fde..3a0c7d89e5816ad949edc7f6a32e57d643f7efe2 100644 (file)
@@ -8,7 +8,6 @@
 // (C) 2004 Novell, Inc. <http://www.novell.com>
 // 
 
-#if NET_2_0
 
 using NUnit.Framework;
 using System;
@@ -91,6 +90,17 @@ namespace MonoTests.System.IO.Compression
                        decompressing.Close();
                }
 
+               // https://bugzilla.xamarin.com/show_bug.cgi?id=22346
+               [Test]
+               public void CheckEmptyRead ()
+               {
+                       byte [] dummy = new byte[1];
+                       byte [] data = new byte[0];
+                       MemoryStream backing = new MemoryStream (data);
+                       DeflateStream compressing = new DeflateStream (backing, CompressionMode.Decompress);
+                       compressing.Read (dummy, 0, 1);
+               }
+
                [Test]
                [ExpectedException (typeof (ArgumentNullException))]
                public void CheckNullRead ()
@@ -352,8 +362,19 @@ namespace MonoTests.System.IO.Compression
                        backing.Close();
                }
 #endif 
+
+               [Test]
+               [ExpectedException (typeof (ArgumentException))]
+               public void CheckBufferOverrun ()
+               {
+                       byte[] data = new byte [20];
+                       MemoryStream backing = new MemoryStream ();
+                       DeflateStream compressing = new DeflateStream (backing, CompressionLevel.Fastest, true);
+                       compressing.Write (data, 0, data.Length + 1);
+                       compressing.Close ();
+                       backing.Close ();
+               }
        }
 }
 
-#endif