From fd8f1b0886605234e0e045d922eea929ecacd7c6 Mon Sep 17 00:00:00 2001 From: Jb Evain Date: Mon, 1 Jun 2015 18:07:50 +0200 Subject: Fix for #225. ANR.Culture should not return neutral as it turns out --- Mono.Cecil/AssemblyNameReference.cs | 6 +++--- Test/Mono.Cecil.Tests/AssemblyTests.cs | 2 +- Test/Mono.Cecil.Tests/ImportReflectionTests.cs | 12 ++++++++++++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/Mono.Cecil/AssemblyNameReference.cs b/Mono.Cecil/AssemblyNameReference.cs index 35b077f..a202e91 100644 --- a/Mono.Cecil/AssemblyNameReference.cs +++ b/Mono.Cecil/AssemblyNameReference.cs @@ -39,7 +39,7 @@ namespace Mono.Cecil { } public string Culture { - get { return string.IsNullOrEmpty (culture) ? "neutral" : culture; } + get { return culture; } set { culture = value; full_name = null; @@ -152,7 +152,7 @@ namespace Mono.Cecil { builder.Append (version.ToString (fieldCount: 4)); builder.Append (sep); builder.Append ("Culture="); - builder.Append (Culture); + builder.Append (string.IsNullOrEmpty (culture) ? "neutral" : culture); builder.Append (sep); builder.Append ("PublicKeyToken="); @@ -194,7 +194,7 @@ namespace Mono.Cecil { name.Version = new Version (parts [1]); break; case "culture": - name.Culture = parts [1]; + name.Culture = parts [1] == "neutral" ? "" : parts [1]; break; case "publickeytoken": var pk_token = parts [1]; diff --git a/Test/Mono.Cecil.Tests/AssemblyTests.cs b/Test/Mono.Cecil.Tests/AssemblyTests.cs index 8a9f632..e7af8d4 100644 --- a/Test/Mono.Cecil.Tests/AssemblyTests.cs +++ b/Test/Mono.Cecil.Tests/AssemblyTests.cs @@ -18,7 +18,7 @@ namespace Mono.Cecil.Tests { Assert.IsNotNull (name); Assert.AreEqual ("hello", name.Name); - Assert.AreEqual ("neutral", name.Culture); + Assert.AreEqual ("", name.Culture); Assert.AreEqual (new Version (0, 0, 0, 0), name.Version); Assert.AreEqual (AssemblyHashAlgorithm.SHA1, name.HashAlgorithm); }); diff --git a/Test/Mono.Cecil.Tests/ImportReflectionTests.cs b/Test/Mono.Cecil.Tests/ImportReflectionTests.cs index 87d9277..c83e5b7 100644 --- a/Test/Mono.Cecil.Tests/ImportReflectionTests.cs +++ b/Test/Mono.Cecil.Tests/ImportReflectionTests.cs @@ -121,6 +121,18 @@ namespace Mono.Cecil.Tests { Assert.AreEqual ("FooBar", concat ("Foo", "Bar")); } + [Test] + public void GeneratedAssemblyCulture () + { + var id = Compile> ((module, body) => { + var il = body.GetILProcessor (); + il.Emit (OpCodes.Ldarg_0); + il.Emit (OpCodes.Ret); + }); + + Assert.AreEqual ("", id.Method.DeclaringType.Assembly.GetName ().CultureName); + } + public class Generic { public T Field; -- cgit v1.2.3