2003-07-11 Zoltan Varga <vargaz@freemail.hu>
authorZoltan Varga <vargaz@gmail.com>
Fri, 11 Jul 2003 19:04:20 +0000 (19:04 -0000)
committerZoltan Varga <vargaz@gmail.com>
Fri, 11 Jul 2003 19:04:20 +0000 (19:04 -0000)
* ModuleBuilderTest.cs: Added tests for IsTransient ().

* ModuleBuilderTest.cs: Added tests for DefineDocument ().

svn path=/trunk/mcs/; revision=16127

mcs/class/corlib/Test/System.Reflection.Emit/ChangeLog
mcs/class/corlib/Test/System.Reflection.Emit/ModuleBuilderTest.cs

index d4ae4421e234d8910b0d8ae1641d1ddb726455c0..e31fea4ecaa9bc450ff2362b56bb148bdbe9fba0 100644 (file)
@@ -1,5 +1,9 @@
 2003-07-11  Zoltan Varga  <vargaz@freemail.hu>
 
+       * ModuleBuilderTest.cs: Added tests for IsTransient ().
+
+       * ModuleBuilderTest.cs: Added tests for DefineDocument ().
+
        * AssemblyBuilderTest.cs: Added error handling tests.
 
 2003-06-30  Zoltan Varga  <vargaz@freemail.hu>
index fb13305d5dcf024f2100499bdd7c98d720bb90bd..f8be939a9ee3c992138144b2cacc01ced4c8c133 100644 (file)
@@ -14,6 +14,7 @@ using System.Reflection;
 using System.Reflection.Emit;\r
 using System.IO;\r
 using System.Collections;\r
+using System.Diagnostics.SymbolStore;\r
 \r
 using NUnit.Framework;\r
 \r
@@ -43,6 +44,20 @@ public class ModuleBuilderTest : Assertion
                }\r
        }\r
 \r
+       [Test]\r
+       public void TestIsTransient () {\r
+               AssemblyName assemblyName = new AssemblyName();\r
+               assemblyName.Name = "foo";\r
+\r
+               AssemblyBuilder ab\r
+                       = Thread.GetDomain().DefineDynamicAssembly(\r
+                               assemblyName, AssemblyBuilderAccess.RunAndSave, TempFolder);            \r
+               ModuleBuilder mb1 = ab.DefineDynamicModule ("foo.dll");\r
+               AssertEquals (true, mb1.IsTransient ());\r
+               ModuleBuilder mb2 = ab.DefineDynamicModule ("foo2.dll", "foo2.dll");\r
+               AssertEquals (false, mb2.IsTransient ());\r
+       }\r
+\r
        // Some of these tests overlap with the tests for Module\r
 \r
        [Test]\r
@@ -91,6 +106,26 @@ public class ModuleBuilderTest : Assertion
                AssertEquals (module.GetField ("DATA_PRIVATE"), null);\r
                AssertEquals (module.GetField ("DATA_PRIVATE", BindingFlags.NonPublic | BindingFlags.Static) != null, true);\r
        }\r
+\r
+       [Test]\r
+       public void DuplicateSymbolDocument () {\r
+               AssemblyName assemblyName = new AssemblyName();\r
+               assemblyName.Name = "ModuleBuilderTest.DuplicateSymbolDocument";\r
+\r
+               AssemblyBuilder ab\r
+                       = Thread.GetDomain().DefineDynamicAssembly(\r
+                               assemblyName, AssemblyBuilderAccess.RunAndSave, TempFolder);\r
+\r
+               ModuleBuilder mb = ab.DefineDynamicModule("foo.dll", "foo.dll", true);\r
+\r
+               // Check that it is possible to redefine a symbol document\r
+               ISymbolDocumentWriter doc1 =\r
+                       mb.DefineDocument("foo.il", SymDocumentType.Text,\r
+                                                         SymLanguageType.ILAssembly,SymLanguageVendor.Microsoft);\r
+               ISymbolDocumentWriter doc2 =\r
+                       mb.DefineDocument("foo.il", SymDocumentType.Text,\r
+                                                         SymLanguageType.ILAssembly,SymLanguageVendor.Microsoft);\r
+       }\r
        \r
     private static void AssertArrayEqualsSorted (Array o1, Array o2) {\r
                Array s1 = (Array)o1.Clone ();\r