Author: spouliot
Date: 2005-03-15 16:11:50 -0500 (Tue, 15 Mar 2005)
New Revision: 41858

Added:
   
trunk/mcs/class/corlib/Test/System.IO.IsolatedStorage/IsolatedStorageFileCas.cs
   
trunk/mcs/class/corlib/Test/System.IO.IsolatedStorage/IsolatedStorageFileStreamCas.cs
Modified:
   trunk/mcs/class/corlib/Test/System.IO.IsolatedStorage/ChangeLog
Log:
2005-03-15  Sebastien Pouliot  <[EMAIL PROTECTED]>

        * IsolatedStorageFileStreamCas.cs: New. CAS unit tests for 
        IsolatedStorageFileStream.
        * IsolatedStorageFileCas.cs: New. CAS unit tests for 
        IsolatedStorageFile.



Modified: trunk/mcs/class/corlib/Test/System.IO.IsolatedStorage/ChangeLog
===================================================================
--- trunk/mcs/class/corlib/Test/System.IO.IsolatedStorage/ChangeLog     
2005-03-15 21:09:05 UTC (rev 41857)
+++ trunk/mcs/class/corlib/Test/System.IO.IsolatedStorage/ChangeLog     
2005-03-15 21:11:50 UTC (rev 41858)
@@ -1,3 +1,10 @@
+2005-03-15  Sebastien Pouliot  <[EMAIL PROTECTED]>
+
+       * IsolatedStorageFileStreamCas.cs: New. CAS unit tests for 
+       IsolatedStorageFileStream.
+       * IsolatedStorageFileCas.cs: New. CAS unit tests for 
+       IsolatedStorageFile.
+
 2005-01-31  Sebastien Pouliot  <[EMAIL PROTECTED]>
 
        * IsolatedStorageFileStreamTest.cs: New. Unit tests for 

Added: 
trunk/mcs/class/corlib/Test/System.IO.IsolatedStorage/IsolatedStorageFileCas.cs
===================================================================
--- 
trunk/mcs/class/corlib/Test/System.IO.IsolatedStorage/IsolatedStorageFileCas.cs 
    2005-03-15 21:09:05 UTC (rev 41857)
+++ 
trunk/mcs/class/corlib/Test/System.IO.IsolatedStorage/IsolatedStorageFileCas.cs 
    2005-03-15 21:11:50 UTC (rev 41858)
@@ -0,0 +1,277 @@
+//
+// IsolatedStorageFileCas.cs - CAS unit tests for 
+//     System.IO.IsolatedStorage.IsolatedStorageFile
+//
+// Author:
+//     Sebastien Pouliot  <[EMAIL PROTECTED]>
+//
+// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using NUnit.Framework;
+
+using System;
+using System.IO;
+using System.IO.IsolatedStorage;
+using System.Security;
+using System.Security.Permissions;
+
+namespace MonoCasTests.System.IO.IsolatedStorage {
+
+       [TestFixture]
+       [Category ("CAS")]
+       public class IsolatedStorageFileCas {
+
+               [SetUp]
+               public void SetUp ()
+               {
+                       if (!SecurityManager.SecurityEnabled)
+                               Assert.Ignore ("SecurityManager.SecurityEnabled 
is OFF");
+               }
+
+               // use the caller stack to execute some read operations
+               private void Read (IsolatedStorageFile isf)
+               {
+                       Assert.IsNotNull (isf.GetDirectoryNames ("*"), 
"GetDirectoryNames");
+                       Assert.IsNotNull (isf.GetFileNames ("*"), 
"GetFileNames");
+                       try {
+                               Assert.IsTrue (isf.CurrentSize >= 0, 
"CurrentSize");
+                               Assert.IsTrue (isf.MaximumSize >= 
isf.CurrentSize, "MaximumSize");
+                       }
+                       catch (InvalidOperationException) {
+                               // roaming
+                       }
+               }
+
+               // use the caller stack to execute some write operations
+               private void Write (IsolatedStorageFile isf)
+               {
+                       isf.CreateDirectory ("testdir");
+
+                       string filename = Path.Combine ("testdir", "file");
+                       using (IsolatedStorageFileStream isfs = new 
IsolatedStorageFileStream (filename, FileMode.Create, isf)) {
+                       }
+                       isf.DeleteFile (filename);
+
+                       isf.DeleteDirectory ("testdir");
+                       try {
+                               isf.Remove ();
+                       }
+                       catch (IsolatedStorageException) {
+                               // fx 1.x doesn't like removing when things 
"could" still be in use
+                       }
+               }
+
+#if NET_2_0
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.Deny, 
UsageAllowed = IsolatedStorageContainment.ApplicationIsolationByMachine)]
+               [ExpectedException (typeof (SecurityException))]
+               [Ignore ("no manifest")]
+               public void GetMachineStoreForApplication_Fail ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetMachineStoreForApplication ();
+               }
+
+               [Test]
+               [Ignore ("no manifest")]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
UsageAllowed = IsolatedStorageContainment.ApplicationIsolationByMachine)]
+               public void GetMachineStoreForApplication_Pass ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetMachineStoreForApplication ();
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.Deny, 
UsageAllowed = IsolatedStorageContainment.AssemblyIsolationByMachine)]
+               [ExpectedException (typeof (SecurityException))]
+               public void GetMachineStoreForAssembly_Fail ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetMachineStoreForAssembly ();
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
UsageAllowed = IsolatedStorageContainment.AssemblyIsolationByMachine)]
+               public void GetMachineStoreForAssembly_Pass ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetMachineStoreForAssembly ();
+                       Read (isf);
+                       Write (isf);
+                       isf.Dispose ();
+                       isf.Close ();
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
UsageAllowed = IsolatedStorageContainment.AdministerIsolatedStorageByUser)]
+               public void GetMachineStoreForAssembly_Administer ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetMachineStoreForAssembly ();
+                       Read (isf);
+                       Write (isf);
+                       isf.Dispose ();
+                       isf.Close ();
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.Deny, 
UsageAllowed = IsolatedStorageContainment.DomainIsolationByMachine)]
+               [ExpectedException (typeof (SecurityException))]
+               public void GetMachineStoreForDomain_Fail ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetMachineStoreForDomain ();
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
UsageAllowed = IsolatedStorageContainment.DomainIsolationByMachine)]
+               public void GetMachineStoreForDomain_Pass ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetMachineStoreForDomain ();
+                       Read (isf);
+                       Write (isf);
+                       isf.Dispose ();
+                       isf.Close ();
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
UsageAllowed = IsolatedStorageContainment.AdministerIsolatedStorageByUser)]
+               public void GetMachineStoreForDomain_Administer ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetMachineStoreForDomain ();
+                       Read (isf);
+                       Write (isf);
+                       isf.Dispose ();
+                       isf.Close ();
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.Deny, 
UsageAllowed = IsolatedStorageContainment.ApplicationIsolationByUser)]
+               [ExpectedException (typeof (SecurityException))]
+               [Ignore ("no manifest")]
+               public void GetUserStoreForApplication_Fail ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetUserStoreForApplication ();
+               }
+
+               [Test]
+               [Ignore ("no manifest")]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
UsageAllowed = IsolatedStorageContainment.ApplicationIsolationByUser)]
+               public void GetUserStoreForApplication_Pass ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetUserStoreForApplication ();
+               }
+#endif
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.Deny, 
UsageAllowed = IsolatedStorageContainment.AssemblyIsolationByUser)]
+               [ExpectedException (typeof (SecurityException))]
+               public void GetUserStoreForAssembly_Fail ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetUserStoreForAssembly ();
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
UsageAllowed = IsolatedStorageContainment.AssemblyIsolationByUser)]
+               public void GetUserStoreForAssembly_Pass ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetUserStoreForAssembly ();
+                       Read (isf);
+                       Write (isf);
+                       isf.Dispose ();
+                       isf.Close ();
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.Deny, 
UsageAllowed = IsolatedStorageContainment.AssemblyIsolationByRoamingUser)]
+               [ExpectedException (typeof (SecurityException))]
+               public void GetUserStoreForAssembly_Roaming_Fail ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetUserStoreForAssembly ();
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
UsageAllowed = IsolatedStorageContainment.AdministerIsolatedStorageByUser)]
+               public void GetUserStoreForAssembly_Roaming_Pass ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetUserStoreForAssembly ();
+                       Read (isf);
+                       Write (isf);
+                       isf.Dispose ();
+                       isf.Close ();
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
UsageAllowed = IsolatedStorageContainment.AssemblyIsolationByRoamingUser)]
+               public void GetUserStoreForAssembly_Administer ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetUserStoreForAssembly ();
+                       Read (isf);
+                       Write (isf);
+                       isf.Dispose ();
+                       isf.Close ();
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.Deny, 
UsageAllowed = IsolatedStorageContainment.DomainIsolationByUser)]
+               [ExpectedException (typeof (SecurityException))]
+               public void GetUserStoreForDomain_Fail ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetUserStoreForDomain ();
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
UsageAllowed = IsolatedStorageContainment.DomainIsolationByUser)]
+               public void GetUserStoreForDomain_Pass ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetUserStoreForDomain ();
+                       Read (isf);
+                       Write (isf);
+                       isf.Dispose ();
+                       isf.Close ();
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.Deny, 
UsageAllowed = IsolatedStorageContainment.DomainIsolationByRoamingUser)]
+               [ExpectedException (typeof (SecurityException))]
+               public void GetUserStoreForDomain_Roaming_Fail ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetUserStoreForDomain ();
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
UsageAllowed = IsolatedStorageContainment.DomainIsolationByRoamingUser)]
+               public void GetUserStoreForDomain_Roaming_Pass ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetUserStoreForDomain ();
+                       Read (isf);
+                       Write (isf);
+                       isf.Dispose ();
+                       isf.Close ();
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
UsageAllowed = IsolatedStorageContainment.AdministerIsolatedStorageByUser)]
+               public void GetUserStoreForDomain_Administer ()
+               {
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetUserStoreForDomain ();
+                       Read (isf);
+                       Write (isf);
+                       isf.Dispose ();
+                       isf.Close ();
+               }
+       }
+}

Added: 
trunk/mcs/class/corlib/Test/System.IO.IsolatedStorage/IsolatedStorageFileStreamCas.cs
===================================================================
--- 
trunk/mcs/class/corlib/Test/System.IO.IsolatedStorage/IsolatedStorageFileStreamCas.cs
       2005-03-15 21:09:05 UTC (rev 41857)
+++ 
trunk/mcs/class/corlib/Test/System.IO.IsolatedStorage/IsolatedStorageFileStreamCas.cs
       2005-03-15 21:11:50 UTC (rev 41858)
@@ -0,0 +1,224 @@
+//
+// IsolatedStorageFileStreamCas.cs - CAS unit tests for 
+//     System.IO.IsolatedStorage.IsolatedStorageFileStream
+//
+// Author:
+//     Sebastien Pouliot  <[EMAIL PROTECTED]>
+//
+// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using NUnit.Framework;
+
+using System;
+using System.IO;
+using System.IO.IsolatedStorage;
+using System.Security;
+using System.Security.Permissions;
+
+#if NET_2_0
+using Microsoft.Win32.SafeHandles;
+#endif
+
+namespace MonoCasTests.System.IO.IsolatedStorage {
+
+       [TestFixture]
+       [Category ("CAS")]
+       public class IsolatedStorageFileStreamCas {
+
+               [SetUp]
+               public void SetUp ()
+               {
+                       if (!SecurityManager.SecurityEnabled)
+                               Assert.Ignore ("SecurityManager.SecurityEnabled 
is OFF");
+               }
+
+               [Test]
+               [PermissionSet (SecurityAction.Deny, Unrestricted = true)]
+               [ExpectedException (typeof (SecurityException))]
+               public void DenyUnrestricted ()
+               {
+                       IsolatedStorageFileStream isfs = new 
IsolatedStorageFileStream ("deny", FileMode.Create);
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.Deny, 
Unrestricted = true)]
+               [ExpectedException (typeof (SecurityException))]
+               public void DenyIsolatedStorageFilePermission ()
+               {
+                       IsolatedStorageFileStream isfs = new 
IsolatedStorageFileStream ("deny", FileMode.Create);
+               }
+
+               private void Read (string filename)
+               {
+                       byte[] buffer = new byte[8];
+                       using (IsolatedStorageFileStream read = new 
IsolatedStorageFileStream (filename, FileMode.Open, FileAccess.Read)) {
+                               Assert.AreEqual (8, read.Length, "Length");
+                               Assert.AreEqual (0, read.Position, "Position");
+                               Assert.IsTrue (read.CanRead, "read.CanRead");
+                               Assert.IsTrue (read.CanSeek, "read.CanSeek");
+                               Assert.IsFalse (read.CanWrite, "read.CanWrite");
+                               Assert.IsFalse (read.IsAsync, "read.IsAync");
+                               Assert.AreEqual (buffer.Length, read.ReadByte 
(), "ReadByte");
+                               read.Seek (0, SeekOrigin.Begin);
+                               Assert.AreEqual (buffer.Length, read.Read 
(buffer, 0, buffer.Length), "Read");
+                               read.Close ();
+                       }
+               }
+
+               private void Write (string filename)
+               {
+                       byte[] buffer = new byte[8];
+                       using (IsolatedStorageFileStream write = new 
IsolatedStorageFileStream (filename, FileMode.Create, FileAccess.Write)) {
+                               Assert.IsFalse (write.CanRead, "write.CanRead");
+                               Assert.IsTrue (write.CanSeek, "write.CanSeek");
+                               Assert.IsTrue (write.CanWrite, 
"write.CanWrite");
+                               Assert.IsFalse (write.IsAsync, "write.IsAync");
+                               write.Write (buffer, 0, buffer.Length);
+                               write.Position = 0;
+                               write.WriteByte ((byte)buffer.Length);
+                               write.SetLength (8);
+                               write.Flush ();
+                               write.Close ();
+                       }
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
Unrestricted = true)]
+               [ExpectedException (typeof (FileNotFoundException))]
+               public void ReadUnexistingFile ()
+               {
+                       string filename = "cas-doesnt-exists";
+                       try {
+                               Read (filename);
+                       }
+                       catch (FileNotFoundException fnfe) {
+                               // check that we do not leak the full path to 
the missing file
+                               // as we do not have the FileIOPermission's 
PathDiscovery rights
+                               Assert.AreEqual (filename, fnfe.FileName, 
"FileName");
+                               throw;
+                       }
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
Unrestricted = true)]
+               [ExpectedException (typeof (DirectoryNotFoundException))]
+               public void ReadInUnexistingDirectory ()
+               {
+                       string filename = Path.Combine ("unexistingdir", 
"filename");
+                       try {
+                               Read (filename);
+                       }
+                       catch (DirectoryNotFoundException dnf) {
+                               // check that we do not leak the full path to 
the missing file
+                               // as we do not have the FileIOPermission's 
PathDiscovery rights
+                               Assert.IsTrue (dnf.Message.IndexOf (filename) 
>= 0, "filename");
+                               Assert.IsFalse (dnf.Message.IndexOf ("\\" + 
filename) >= 0, "fullpath");
+                               throw;
+                       }
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
Unrestricted = true)]
+               [ExpectedException (typeof (UnauthorizedAccessException))]
+               public void ReadDirectoryAsFile ()
+               {
+                       string dirname = "this-is-a-dir";
+                       IsolatedStorageFile isf = 
IsolatedStorageFile.GetUserStoreForDomain ();
+                       try {
+                               string[] dirs = isf.GetDirectoryNames (dirname);
+                               if (dirs.Length == 0) {
+                                       isf.CreateDirectory (dirname);
+                               }
+                               Read (dirname);
+                       }
+                       catch (UnauthorizedAccessException uae) {
+                               // check that we do not leak the full path to 
the missing file
+                               // as we do not have the FileIOPermission's 
PathDiscovery rights
+                               Assert.IsTrue (uae.Message.IndexOf (dirname) >= 
0, "dirname");
+                               Assert.IsFalse (uae.Message.IndexOf ("\\" + 
dirname) >= 0, "fullpath");
+                               try {
+                                       isf.DeleteDirectory (dirname);
+                               }
+                               catch (IsolatedStorageException) {
+                                       // this isn't where we want ot fail!
+                                       // and 1.x isn't always cooperative
+                               }
+                               throw;
+                       }
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
Unrestricted = true)]
+               public void ReWrite ()
+               {
+                       Write ("cas-rewrite");
+                       Write ("cas-rewrite");
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
Unrestricted = true)]
+               public void WriteThenRead ()
+               {
+                       Write ("cas-rw");
+                       Read ("cas-rw");
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
Unrestricted = true)]
+               [ExpectedException (typeof (DirectoryNotFoundException))]
+               public void WriteInUnexistingDirectory ()
+               {
+                       string filename = Path.Combine ("unexistingdir", 
"filename");
+                       try {
+                               Write (filename);
+                       }
+                       catch (DirectoryNotFoundException dnf) {
+                               // check that we do not leak the full path to 
the missing file
+                               // as we do not have the FileIOPermission's 
PathDiscovery rights
+                               Assert.IsTrue (dnf.Message.IndexOf (filename) 
>= 0, "filename");
+                               Assert.IsFalse (dnf.Message.IndexOf ("\\" + 
filename) >= 0, "fullpath");
+                               throw;
+                       }
+               }
+
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
Unrestricted = true)]
+               [ExpectedException (typeof (IsolatedStorageException))]
+               public void Handle ()
+               {
+                       IsolatedStorageFileStream isfs = new 
IsolatedStorageFileStream ("cas-Handle", FileMode.Create);
+                       IntPtr p = isfs.Handle;
+                       // LAMSPEC: SecurityException with UnmanagedCode
+               }
+#if NET_2_0
+               [Test]
+               [IsolatedStorageFilePermission (SecurityAction.PermitOnly, 
Unrestricted = true)]
+               [ExpectedException (typeof (IsolatedStorageException))]
+               public void SafeFileHandle ()
+               {
+                       IsolatedStorageFileStream isfs = new 
IsolatedStorageFileStream ("cas-SafeFileHandle", FileMode.Create);
+                       SafeFileHandle sfh = isfs.SafeFileHandle;
+               }
+#endif
+       }
+}

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to