diff options
author | Jb Evain <jb@evain.net> | 2019-01-31 02:20:05 +0300 |
---|---|---|
committer | Jb Evain <jb@evain.net> | 2019-01-31 02:20:05 +0300 |
commit | 5c32a928c423e504ab0693dad22dd07f16054f1d (patch) | |
tree | 2f47e37b99d3c5d05d976e3794b93ad25b6e5d1b /Test/Mono.Cecil.Tests | |
parent | 0f2d1802f526c420f68708c3e988f9d90282901a (diff) |
Add tests verifying we preserve the order of metadata elements
Diffstat (limited to 'Test/Mono.Cecil.Tests')
-rw-r--r-- | Test/Mono.Cecil.Tests/CustomAttributesTests.cs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Test/Mono.Cecil.Tests/CustomAttributesTests.cs b/Test/Mono.Cecil.Tests/CustomAttributesTests.cs index db28ab5..970b3aa 100644 --- a/Test/Mono.Cecil.Tests/CustomAttributesTests.cs +++ b/Test/Mono.Cecil.Tests/CustomAttributesTests.cs @@ -464,6 +464,35 @@ namespace Mono.Cecil.Tests { }); } + [Test] + public void OrderedAttributes () + { + TestModule ("ordered-attrs.exe", module => { + var type = module.GetType ("Program"); + var method = type.GetMethod ("Main"); + var attributes = method.CustomAttributes; + Assert.AreEqual (6, attributes.Count); + + Assert.AreEqual ("AAttribute", attributes [0].AttributeType.Name); + Assert.AreEqual ("Main.A1", attributes [0].Fields [0].Argument.Value as string); + + Assert.AreEqual ("AAttribute", attributes [1].AttributeType.Name); + Assert.AreEqual ("Main.A2", attributes [1].Fields [0].Argument.Value as string); + + Assert.AreEqual ("BAttribute", attributes [2].AttributeType.Name); + Assert.AreEqual ("Main.B1", attributes [2].Fields [0].Argument.Value as string); + + Assert.AreEqual ("AAttribute", attributes [3].AttributeType.Name); + Assert.AreEqual ("Main.A3", attributes [3].Fields [0].Argument.Value as string); + + Assert.AreEqual ("BAttribute", attributes [4].AttributeType.Name); + Assert.AreEqual ("Main.B2", attributes [4].Fields [0].Argument.Value as string); + + Assert.AreEqual ("BAttribute", attributes [5].AttributeType.Name); + Assert.AreEqual ("Main.B3", attributes [5].Fields [0].Argument.Value as string); + }); + } + #if !READ_ONLY [Test] public void DefineCustomAttributeFromBlob () |