You've already forked linux-packaging-mono
Imported Upstream version 4.0.0~alpha1
Former-commit-id: 806294f5ded97629b74c85c09952f2a74fe182d9
This commit is contained in:
@ -214,7 +214,6 @@ namespace MonoTests.System.Reflection.Emit
|
||||
}
|
||||
|
||||
// fail on MS .NET 1.1
|
||||
#if NET_2_0
|
||||
TypeBuilder tb = mb.DefineType ("ITest2", TypeAttributes.Interface,
|
||||
typeof (object));
|
||||
Assert.AreEqual (typeof (object), tb.BaseType, "#C1");
|
||||
@ -222,13 +221,9 @@ namespace MonoTests.System.Reflection.Emit
|
||||
tb = mb.DefineType ("ITest3", TypeAttributes.Interface,
|
||||
typeof (IDisposable));
|
||||
Assert.AreEqual (typeof (IDisposable), tb.BaseType, "#D1");
|
||||
#endif
|
||||
}
|
||||
|
||||
[Test]
|
||||
#if ONLY_1_1
|
||||
[Category ("NotDotNet")] // Parent type was not extensible by the given type
|
||||
#endif
|
||||
public void DefineType_Parent_Interface ()
|
||||
{
|
||||
TypeBuilder tb;
|
||||
@ -304,7 +299,6 @@ namespace MonoTests.System.Reflection.Emit
|
||||
Assert.AreEqual (s1.GetValue (i), s2.GetValue (i), "#2: " + i);
|
||||
}
|
||||
|
||||
#if NET_2_0
|
||||
[Test]
|
||||
public void ResolveFieldTokenFieldBuilder ()
|
||||
{
|
||||
@ -366,6 +360,32 @@ namespace MonoTests.System.Reflection.Emit
|
||||
Assert.AreEqual ("Frub", mi.Name);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void GetMethodTokenCrossMethodBuilders ()
|
||||
{
|
||||
AssemblyBuilder ab = genAssembly ();
|
||||
ModuleBuilder moduleb = ab.DefineDynamicModule ("foo.dll", "foo.dll");
|
||||
|
||||
TypeBuilder tb = moduleb.DefineType ("foo");
|
||||
MethodBuilder mb = tb.DefineMethod("Frub", MethodAttributes.Static, null, new Type[] { typeof(IntPtr) });
|
||||
int tok = mb.GetToken().Token;
|
||||
mb.SetImplementationFlags(MethodImplAttributes.NoInlining);
|
||||
ILGenerator ilgen = mb.GetILGenerator();
|
||||
ilgen.Emit(OpCodes.Ret);
|
||||
|
||||
tb.CreateType ();
|
||||
|
||||
var mi = (MethodInfo) moduleb.ResolveMember (tok);
|
||||
Assert.IsNotNull (mi);
|
||||
|
||||
ModuleBuilder moduleb2 = ab.DefineDynamicModule ("foo2.dll", "foo2.dll");
|
||||
var tok2 = moduleb2.GetMethodToken (mi).Token;
|
||||
|
||||
MethodBase mi2 = moduleb.ResolveMethod (tok2);
|
||||
Assert.IsNotNull (mi2);
|
||||
Assert.AreEqual ("Frub", mi.Name);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void ResolveMemberField ()
|
||||
{
|
||||
@ -564,7 +584,6 @@ namespace MonoTests.System.Reflection.Emit
|
||||
Assert.AreEqual (typeof (string), resolved_method.GetParameters () [0].ParameterType);
|
||||
Assert.AreEqual (typeof (int), resolved_method.GetParameters () [1].ParameterType);
|
||||
}
|
||||
#endif
|
||||
|
||||
[Test]
|
||||
public void GetTypes ()
|
||||
@ -586,9 +605,7 @@ namespace MonoTests.System.Reflection.Emit
|
||||
}
|
||||
|
||||
[Test] // GetTypeToken (Type)
|
||||
#if NET_2_0
|
||||
[Category ("NotDotNet")] // http://support.microsoft.com/kb/950986
|
||||
#endif
|
||||
public void GetTypeToken2_Type_Array ()
|
||||
{
|
||||
Type type;
|
||||
@ -602,21 +619,15 @@ namespace MonoTests.System.Reflection.Emit
|
||||
|
||||
type = typeof (object []);
|
||||
typeToken = mb.GetTypeToken (type);
|
||||
#if NET_2_0
|
||||
Assert.IsFalse (typeToken == TypeToken.Empty, "#A1");
|
||||
resolved_type = mb.ResolveType (typeToken.Token);
|
||||
Assert.AreEqual (type, resolved_type, "#A2");
|
||||
#else
|
||||
Assert.IsFalse (typeToken.Token == TypeToken.Empty.Token, "#A1");
|
||||
#endif
|
||||
|
||||
#if NET_2_0
|
||||
type = typeof (object).MakeArrayType ();
|
||||
typeToken = mb.GetTypeToken (type);
|
||||
Assert.IsFalse (typeToken == TypeToken.Empty, "#B1");
|
||||
resolved_type = mb.ResolveType (typeToken.Token);
|
||||
Assert.AreEqual (type, resolved_type, "#B2");
|
||||
#endif
|
||||
}
|
||||
|
||||
[Test] // GetTypeToken (Type)
|
||||
@ -628,16 +639,11 @@ namespace MonoTests.System.Reflection.Emit
|
||||
ModuleBuilder mb = ab.DefineDynamicModule ("MyModule");
|
||||
Type type = typeof (string);
|
||||
TypeToken typeToken = mb.GetTypeToken (type);
|
||||
#if NET_2_0
|
||||
Assert.IsFalse (typeToken == TypeToken.Empty, "#1");
|
||||
Type resolved_type = mb.ResolveType (typeToken.Token);
|
||||
Assert.AreEqual (type, resolved_type, "#2");
|
||||
#else
|
||||
Assert.IsFalse (typeToken.Token == TypeToken.Empty.Token, "#1");
|
||||
#endif
|
||||
}
|
||||
|
||||
#if NET_2_0
|
||||
[Test] // bug #471302
|
||||
public void ModuleBuilder_ModuleVersionId ()
|
||||
{
|
||||
@ -649,7 +655,6 @@ namespace MonoTests.System.Reflection.Emit
|
||||
|
||||
Assert.AreNotEqual (new Guid (), module.ModuleVersionId);
|
||||
}
|
||||
#endif
|
||||
|
||||
[Test]
|
||||
public void GetType_String_Null ()
|
||||
|
Reference in New Issue
Block a user