diff options
author | Jb Evain <jb@evain.net> | 2017-03-22 01:46:26 +0300 |
---|---|---|
committer | Jb Evain <jb@evain.net> | 2017-03-22 01:46:26 +0300 |
commit | bb314a7c38f063222ad7f942a12392f9f56e97f4 (patch) | |
tree | 07d6ed8397fa094bd8ab5aaeec360cb0f18cf3e0 /Test/Mono.Cecil.Tests | |
parent | e11e18e57b9c4fcee303581e54975a05f4644f66 (diff) |
Fix TypeDefinition.MetadataType for core types
Diffstat (limited to 'Test/Mono.Cecil.Tests')
-rw-r--r-- | Test/Mono.Cecil.Tests/TypeTests.cs | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/Test/Mono.Cecil.Tests/TypeTests.cs b/Test/Mono.Cecil.Tests/TypeTests.cs index 1bf834a..d378042 100644 --- a/Test/Mono.Cecil.Tests/TypeTests.cs +++ b/Test/Mono.Cecil.Tests/TypeTests.cs @@ -255,10 +255,24 @@ namespace Mono.Cecil.Tests { [Test] public void DeferredCorlibTypeDef () { - var module = ModuleDefinition.ReadModule (typeof (object).Assembly.Location, new ReaderParameters (ReadingMode.Deferred)); - var object_type = module.TypeSystem.Object; + using (var module = ModuleDefinition.ReadModule (typeof (object).Assembly.Location, new ReaderParameters (ReadingMode.Deferred))) { + var object_type = module.TypeSystem.Object; + Assert.IsInstanceOf<TypeDefinition> (object_type); + } + } - Assert.IsInstanceOf<TypeDefinition> (object_type); + [Test] + public void CorlibTypesMetadataType () + { + using (var module = ModuleDefinition.ReadModule (typeof (object).Assembly.Location)) { + var type = module.GetType ("System.String"); + Assert.IsNotNull (type); + Assert.IsNotNull (type.BaseType); + Assert.AreEqual ("System.Object", type.BaseType.FullName); + Assert.IsInstanceOf<TypeDefinition> (type.BaseType); + Assert.AreEqual (MetadataType.String, type.MetadataType); + Assert.AreEqual (MetadataType.Object, type.BaseType.MetadataType); + } } } } |