File tree Expand file tree Collapse file tree 2 files changed +24
-1
lines changed
Fuzzing/DotnetFuzzing/Fuzzers
System.Reflection.Metadata/tests/Metadata Expand file tree Collapse file tree 2 files changed +24
-1
lines changed Original file line number Diff line number Diff line change @@ -61,9 +61,21 @@ private static void Test(Span<char> span)
61
61
Assert . Equal ( fromTryParse . ToAssemblyName ( ) . CultureName , fromParse . ToAssemblyName ( ) . CultureName ) ;
62
62
63
63
Assert . Equal ( fromTryParse . Name , fromParse . ToAssemblyName ( ) . Name ) ;
64
- Assert . Equal ( fromTryParse . CultureName , fromParse . ToAssemblyName ( ) . CultureName ) ;
65
64
Assert . Equal ( fromTryParse . Version , fromParse . ToAssemblyName ( ) . Version ) ;
66
65
66
+ if ( fromTryParse . CultureName is not null )
67
+ {
68
+ // When converting to AssemblyName, the culture name is lower-cased
69
+ // by the CultureInfo ctor that calls CultureData.GetCultureData
70
+ // which lowers the name for caching and normalization purposes.
71
+ Assert . Equal ( fromTryParse . CultureName . ToLower ( ) , fromParse . ToAssemblyName ( ) . CultureName ) ;
72
+ }
73
+ else
74
+ {
75
+ Assert . True ( fromParse . ToAssemblyName ( ) . CultureName is null ) ;
76
+ }
77
+
78
+
67
79
// AssemblyNameInfo.FullName can be different than AssemblyName.FullName:
68
80
// AssemblyNameInfo includes public key, AssemblyName only its Token.
69
81
Original file line number Diff line number Diff line change @@ -105,6 +105,17 @@ public void EmptyInputIsInvalid()
105
105
Assert . Throws < ArgumentException > ( ( ) => AssemblyNameInfo . Parse ( "" . AsSpan ( ) ) ) ;
106
106
}
107
107
108
+ [ Fact ]
109
+ public void CultureNameGetLoweredByToAssemblyName ( )
110
+ {
111
+ AssemblyNameInfo assemblyNameInfo = AssemblyNameInfo . Parse ( "test,culture=aA" . AsSpan ( ) ) ;
112
+ Assert . Equal ( "aA" , assemblyNameInfo . CultureName ) ;
113
+ // When converting to AssemblyName, the culture name is lower-cased
114
+ // by the CultureInfo ctor that calls CultureData.GetCultureData
115
+ // which lowers the name for caching and normalization purposes.
116
+ Assert . Equal ( "aa" , assemblyNameInfo . ToAssemblyName ( ) . CultureName ) ;
117
+ }
118
+
108
119
static void Roundtrip ( AssemblyName source )
109
120
{
110
121
AssemblyNameInfo parsed = AssemblyNameInfo . Parse ( source . FullName . AsSpan ( ) ) ;
You can’t perform that action at this time.
0 commit comments