Author: gert
Date: 2007-08-24 07:25:36 -0400 (Fri, 24 Aug 2007)
New Revision: 84800

Modified:
   trunk/mcs/class/corlib/Test/System.Resources/ChangeLog
   trunk/mcs/class/corlib/Test/System.Resources/ResourceManagerTest.cs
   trunk/mcs/class/corlib/Test/System.Resources/ResourceReaderTest.cs
   trunk/mcs/class/corlib/Test/System.Resources/ResourceWriterTest.cs
Log:
* ResourceManagerTest.cs: Improved existing tests. Ensure all resources
are released. Fixes test failures on Windows.
* ResourceWriterTest.cs: Added test for bug #82566.
* ResourceReaderTest.cs: Improved existing tests. Ensure all resources
are released. Fixed test failures on Windows.


Modified: trunk/mcs/class/corlib/Test/System.Resources/ChangeLog
===================================================================
--- trunk/mcs/class/corlib/Test/System.Resources/ChangeLog      2007-08-24 
11:22:04 UTC (rev 84799)
+++ trunk/mcs/class/corlib/Test/System.Resources/ChangeLog      2007-08-24 
11:25:36 UTC (rev 84800)
@@ -1,3 +1,11 @@
+2007-08-24  Gert Driesen  <[EMAIL PROTECTED]>
+
+       * ResourceManagerTest.cs: Improved existing tests. Ensure all resources
+       are released. Fixes test failures on Windows.
+       * ResourceWriterTest.cs: Added test for bug #82566.
+       * ResourceReaderTest.cs: Improved existing tests. Ensure all resources
+       are released. Fixed test failures on Windows.
+
 2007-08-09  Atsushi Enomoto  <[EMAIL PROTECTED]>
 
        * ResourceReaderTest.cs : added tests for GetResourceData()

Modified: trunk/mcs/class/corlib/Test/System.Resources/ResourceManagerTest.cs
===================================================================
--- trunk/mcs/class/corlib/Test/System.Resources/ResourceManagerTest.cs 
2007-08-24 11:22:04 UTC (rev 84799)
+++ trunk/mcs/class/corlib/Test/System.Resources/ResourceManagerTest.cs 
2007-08-24 11:25:36 UTC (rev 84800)
@@ -69,19 +69,29 @@
                                CreateFileBasedResourceManager ("MyResources", 
"Test/resources", null);
                        Assert.AreEqual ("Hello World", rm.GetString 
("HelloWorld"), "#01");
                        Assert.AreEqual ("Hello World", rm.GetObject 
("HelloWorld"), "#02");
+                       rm.ReleaseAllResources ();
                }
 
 #if NET_2_0
                [Test]
-               [ExpectedException (typeof (InvalidOperationException))]
                public void GetStreamOverNonStream ()
                {
                        Thread.CurrentThread.CurrentUICulture = 
CultureInfo.InvariantCulture;
                        ResourceManager rm = ResourceManager.
                                CreateFileBasedResourceManager ("MyResources", 
"Test/resources", null);
-                       UnmanagedMemoryStream s = rm.GetStream ("HelloWorld");
-                       Assert.AreEqual (10, s.Length, "#1");
-                       Assert.AreEqual ("Hello World", new StreamReader 
(s).ReadToEnd (), "#2");
+
+                       try {
+                               rm.GetStream ("HelloWorld");
+                               Assert.Fail ("#1");
+                       } catch (InvalidOperationException ex) {
+                               // Resource 'HelloWorld' was not a Stream - call
+                               // GetObject instead
+                               Assert.AreEqual (typeof 
(InvalidOperationException), ex.GetType (), "#2");
+                               Assert.IsNull (ex.InnerException, "#3");
+                               Assert.IsNotNull (ex.Message, "#4");
+                       } finally {
+                               rm.ReleaseAllResources ();
+                       }
                }
 
                [Test]
@@ -91,6 +101,7 @@
                        ResourceManager rm = ResourceManager.
                                CreateFileBasedResourceManager ("StreamTest", 
"Test/resources", null);
                        Assert.IsNull (rm.GetStream ("HelloWorld")); // no such 
resource
+                       rm.ReleaseAllResources ();
                }
 
                [Test]
@@ -102,6 +113,8 @@
                        UnmanagedMemoryStream s = rm.GetStream ("test");
                        Assert.AreEqual (22, s.Length, "#1");
                        Assert.AreEqual ("veritas vos liberabit\n", new 
StreamReader (s).ReadToEnd (), "#2");
+                       s.Close ();
+                       rm.ReleaseAllResources ();
                }
 
                [Test]
@@ -113,6 +126,8 @@
                        UnmanagedMemoryStream s = rm.GetStream ("test", new 
CultureInfo ("ja-JP"));
                        Assert.AreEqual (22, s.Length, "#1");
                        Assert.AreEqual ("Veritas Vos Liberabit\n", new 
StreamReader (s).ReadToEnd (), "#2");
+                       s.Close ();
+                       rm.ReleaseAllResources ();
                }
 #endif
 
@@ -126,6 +141,7 @@
                        Assert.AreEqual ("Hello World", rm.GetObject 
("HelloWorld"), "#02");
                        Assert.AreEqual ("Hallo Welt", rm.GetString 
("deHelloWorld"), "#03");
                        Assert.AreEqual ("Hallo Welt", rm.GetObject 
("deHelloWorld"), "#04");
+                       rm.ReleaseAllResources ();
                }
 
                [Test]
@@ -177,10 +193,11 @@
                                                true, true);
                        
                        Assert.AreEqual (1, rm.GetResourceSets().Keys.Count, 
"#03");
+
+                       rm.ReleaseAllResources ();
                }
                
                [Test]
-               [ExpectedException (typeof (InvalidOperationException))]
                public void TestResourceManagerResourceSetClosedException ()
                {
                        Thread.CurrentThread.CurrentUICulture = 
CultureInfo.InvariantCulture;
@@ -193,8 +210,18 @@
                        rs.Close ();
                        rs = rm.GetResourceSet (CultureInfo.InvariantCulture,
                                                true, true);
-                       
-                       rm.GetString ("HelloWorld");
+
+                       try {
+                               rm.GetString ("HelloWorld");
+                               Assert.Fail ("#1");
+                       } catch (InvalidOperationException ex) {
+                               // ResourceSet is closed
+                               Assert.AreEqual (typeof 
(InvalidOperationException), ex.GetType (), "#2");
+                               Assert.IsNull (ex.InnerException, "#3");
+                               Assert.IsNotNull (ex.Message, "#4");
+                       } finally {
+                               rm.ReleaseAllResources ();
+                       }
                }
        }
 }

Modified: trunk/mcs/class/corlib/Test/System.Resources/ResourceReaderTest.cs
===================================================================
--- trunk/mcs/class/corlib/Test/System.Resources/ResourceReaderTest.cs  
2007-08-24 11:22:04 UTC (rev 84799)
+++ trunk/mcs/class/corlib/Test/System.Resources/ResourceReaderTest.cs  
2007-08-24 11:25:36 UTC (rev 84800)
@@ -53,27 +53,41 @@
                }
 
                [Test]
-               [ExpectedException (typeof (ArgumentNullException))]
-               public void ConstructorString_Null ()
+               public void ConstructorString_Path_Null ()
                {
-                       string s = null;
-                       ResourceReader r = new ResourceReader (s);
+                       try {
+                               new ResourceReader ((string) null);
+                               Assert.Fail ("#1");
+                       } catch (ArgumentNullException ex) {
+                               Assert.AreEqual (typeof 
(ArgumentNullException), ex.GetType (), "#2");
+                               Assert.IsNull (ex.InnerException, "#3");
+                               Assert.IsNotNull (ex.Message, "#4");
+                               Assert.IsNotNull (ex.ParamName, "#5");
+                               Assert.AreEqual ("path", ex.ParamName, "#6");
+                       }
                }
 
                [Test]
-               [ExpectedException (typeof (ArgumentException))]
-               public void ConstructorString_Empty ()
+               public void ConstructorString_Path_Empty ()
                {
-                       ResourceReader r = new ResourceReader (String.Empty);
+                       try {
+                               new ResourceReader (String.Empty);
+                               Assert.Fail ("#1");
+                       } catch (ArgumentException ex) {
+                               // Empty path name is not legal
+                               Assert.AreEqual (typeof (ArgumentException), 
ex.GetType (), "#2");
+                               Assert.IsNull (ex.InnerException, "#3");
+                               Assert.IsNotNull (ex.Message, "#4");
+                               Assert.IsNull (ex.ParamName, "#5");
+                       }
                }
 
-
                [Test]
                [ExpectedException (typeof (FileNotFoundException))]
                public void ConstructorString_NotFound ()
                {
                        // use a file name that is *very* unlikely to exsist
-                       ResourceReader r = new ResourceReader 
("j38f8axvnn9h38hfa9nxn93f8hav4zvag87vvah32o");
+                       new ResourceReader 
("j38f8axvnn9h38hfa9nxn93f8hav4zvag87vvah32o");
                }
 
                [Test]
@@ -82,7 +96,7 @@
                public void ConstructorString_Bad ()
                {
                        Assert.IsTrue (File.Exists (m_BadResourceFile));
-                       ResourceReader r = new ResourceReader 
(m_BadResourceFile);
+                       new ResourceReader (m_BadResourceFile);
                }
 
                [Test]
@@ -97,20 +111,36 @@
                }
 
                [Test]
-               [ExpectedException (typeof (ArgumentNullException))]
                public void ConstructorStream_Null ()
                {
-                       Stream s = null;
-                       ResourceReader r = new ResourceReader (s);
+                       try {
+                               new ResourceReader ((Stream) null);
+                               Assert.Fail ("#1");
+                       } catch (ArgumentNullException ex) {
+                               Assert.AreEqual (typeof 
(ArgumentNullException), ex.GetType (), "#2");
+                               Assert.IsNull (ex.InnerException, "#3");
+                               Assert.IsNotNull (ex.Message, "#4");
+                               Assert.IsNotNull (ex.ParamName, "#5");
+                               Assert.AreEqual ("stream", ex.ParamName, "#6");
+                       }
                }
 
                [Test]
-               [ExpectedException (typeof (ArgumentException))]
                public void ConstructorStream_Closed ()
                {
                        Stream stream = new FileStream (m_ResourceFile, 
FileMode.Open);
                        stream.Close ();
-                       ResourceReader r = new ResourceReader (stream);
+
+                       try {
+                               new ResourceReader (stream);
+                               Assert.Fail ("#1");
+                       } catch (ArgumentException ex) {
+                               // Stream was not readable
+                               Assert.AreEqual (typeof (ArgumentException), 
ex.GetType (), "#2");
+                               Assert.IsNull (ex.InnerException, "#3");
+                               Assert.IsNotNull (ex.Message, "#4");
+                               Assert.IsNull (ex.ParamName, "#5");
+                       }
                }
 
                [Test]
@@ -171,6 +201,7 @@
                                        Assert.AreEqual (0, entryCount, "#3");
                                        entryCount++;
                                }
+                               Assert.AreEqual (1, entryCount, "#4");
                        }
                }
 #endif
@@ -211,13 +242,24 @@
 
 #if NET_2_0
                [Test]
-               [ExpectedException (typeof (ArgumentNullException))]
                public void GetResourceDataNullName ()
                {
                        ResourceReader r = new ResourceReader 
("Test/resources/StreamTest.resources");
                        string type;
                        byte [] bytes;
-                       r.GetResourceData (null, out type, out bytes);
+
+                       try {
+                               r.GetResourceData (null, out type, out bytes);
+                               Assert.Fail ("#1");
+                       } catch (ArgumentNullException ex) {
+                               Assert.AreEqual (typeof 
(ArgumentNullException), ex.GetType (), "#2");
+                               Assert.IsNull (ex.InnerException, "#3");
+                               Assert.IsNotNull (ex.Message, "#4");
+                               Assert.IsNotNull (ex.ParamName, "#5");
+                               Assert.AreEqual ("resourceName", ex.ParamName, 
"#6");
+                       } finally {
+                               r.Close ();
+                       }
                }
 
                [Test]
@@ -247,6 +289,8 @@
                        p = (DictionaryEntry) items ["test3"];
                        Assert.AreEqual ("ResourceTypeCode.ByteArray", p.Key as 
string, "#3-1");
                        Assert.AreEqual (t3, p.Value as byte [], "#3-2");
+
+                       r.Close ();
                }
 
                [Test]
@@ -281,6 +325,7 @@
                        // Note that const should not be used here.
                        Assert.AreEqual ("System.Drawing.Size, System.Drawing, 
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", type, "#1");
                        Assert.AreEqual (expected, bytes, "#2");
+                       r.Close ();
                }
 
                // we currently do not support writing v2 resource files

Modified: trunk/mcs/class/corlib/Test/System.Resources/ResourceWriterTest.cs
===================================================================
--- trunk/mcs/class/corlib/Test/System.Resources/ResourceWriterTest.cs  
2007-08-24 11:22:04 UTC (rev 84799)
+++ trunk/mcs/class/corlib/Test/System.Resources/ResourceWriterTest.cs  
2007-08-24 11:25:36 UTC (rev 84800)
@@ -39,5 +39,37 @@
                        }
                }
 #endif
+
+               [Test] // bug #82566
+#if NET_2_0
+               [Category ("NotWorking")]
+#endif
+               public void WriteEnum ()
+               {
+                       MemoryStream ms = new MemoryStream ();
+
+                       ResourceWriter writer = new ResourceWriter (ms);
+                       writer.AddResource ("Targets", 
AttributeTargets.Assembly);
+                       writer.Generate ();
+
+                       ms.Position = 0;
+
+                       bool found = false;
+
+                       ResourceReader reader = new ResourceReader (ms);
+                       foreach (DictionaryEntry de in reader) {
+                               string name = de.Key as string;
+                               Assert.IsNotNull (name, "#1");
+                               Assert.AreEqual ("Targets", name, "#2");
+                               Assert.IsNotNull (de.Value, "#3");
+                               Assert.AreEqual (AttributeTargets.Assembly, 
de.Value, "#4");
+                               found = true;
+                       }
+
+                       Assert.IsTrue (found, "#5");
+
+                       writer.Dispose ();
+               }
+
        }
 }

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

Reply via email to