diff --git a/src/Compilers/Core/CodeAnalysisTest/Diagnostics/DiagnosticLocalizationTests.cs b/src/Compilers/Core/CodeAnalysisTest/Diagnostics/DiagnosticLocalizationTests.cs index 55743aac2d9878b7b4fe5ca9e62ae87996ab9ecd..c94fa9774a0c75c9d20bc868818fe0555887a6de 100644 --- a/src/Compilers/Core/CodeAnalysisTest/Diagnostics/DiagnosticLocalizationTests.cs +++ b/src/Compilers/Core/CodeAnalysisTest/Diagnostics/DiagnosticLocalizationTests.cs @@ -18,18 +18,17 @@ public partial class DiagnosticLocalizationTests public void TestDiagnosticLocalization() { var resourceManager = GetTestResourceManagerInstance(); - var enCulture = CultureInfo.CreateSpecificCulture("en-US"); var arCulture = CultureInfo.CreateSpecificCulture("ar-SA"); - var enResourceSet = resourceManager.GetResourceSet(enCulture, false, false); + var defaultCultureResourceSet = resourceManager.GetResourceSet(CustomResourceManager.DefaultCulture, false, false); var arResourceSet = resourceManager.GetResourceSet(arCulture, false, false); var nameOfResource1 = @"Resource1"; var nameOfResource2 = @"Resource2"; var nameOfResource3 = @"Resource3"; - var fixedTitle = enResourceSet.GetString(nameOfResource1); - var fixedMessageFormat = enResourceSet.GetString(nameOfResource2); - var fixedDescription = enResourceSet.GetString(nameOfResource3); + var fixedTitle = defaultCultureResourceSet.GetString(nameOfResource1); + var fixedMessageFormat = defaultCultureResourceSet.GetString(nameOfResource2); + var fixedDescription = defaultCultureResourceSet.GetString(nameOfResource3); var localizedTitle = arResourceSet.GetString(nameOfResource1); var localizedMessageFormat = arResourceSet.GetString(nameOfResource2); @@ -72,9 +71,9 @@ public void TestDiagnosticLocalization() Assert.Equal(fixedDescription, descriptor.Description.ToString()); } - Assert.Equal(fixedTitle, descriptor.Title.ToString(enCulture)); - Assert.Equal(fixedMessageFormat, descriptor.MessageFormat.ToString(enCulture)); - Assert.Equal(fixedDescription, descriptor.Description.ToString(enCulture)); + Assert.Equal(fixedTitle, descriptor.Title.ToString(CustomResourceManager.DefaultCulture)); + Assert.Equal(fixedMessageFormat, descriptor.MessageFormat.ToString(CustomResourceManager.DefaultCulture)); + Assert.Equal(fixedDescription, descriptor.Description.ToString(CustomResourceManager.DefaultCulture)); Assert.Equal(localizedTitle, descriptor.Title.ToString(arCulture)); Assert.Equal(localizedMessageFormat, descriptor.MessageFormat.ToString(arCulture)); @@ -91,9 +90,9 @@ public void TestDiagnosticLocalization() Assert.Equal(fixedDescription, localizableDiagnostic.Descriptor.Description.ToString()); } - Assert.Equal(fixedTitle, localizableDiagnostic.Descriptor.Title.ToString(enCulture)); - Assert.Equal(fixedMessageFormat, localizableDiagnostic.GetMessage(enCulture)); - Assert.Equal(fixedDescription, localizableDiagnostic.Descriptor.Description.ToString(enCulture)); + Assert.Equal(fixedTitle, localizableDiagnostic.Descriptor.Title.ToString(CustomResourceManager.DefaultCulture)); + Assert.Equal(fixedMessageFormat, localizableDiagnostic.GetMessage(CustomResourceManager.DefaultCulture)); + Assert.Equal(fixedDescription, localizableDiagnostic.Descriptor.Description.ToString(CustomResourceManager.DefaultCulture)); // Test localized title, description and message. Assert.Equal(localizedTitle, localizableDiagnostic.Descriptor.Title.ToString(arCulture)); @@ -106,15 +105,15 @@ public void TestDiagnosticLocalization() var localizableResource = new LocalizableResourceString(nameOfResourceWithArguments, resourceManager, typeof(CustomResourceManager), argument); // Verify without culture - var enuLocalizedStringWithArguments = enResourceSet.GetString(nameOfResourceWithArguments); - var expected = string.Format(enuLocalizedStringWithArguments, argument); + var defaultCultureLocalizedStringWithArguments = defaultCultureResourceSet.GetString(nameOfResourceWithArguments); + var expected = string.Format(defaultCultureLocalizedStringWithArguments, argument); if (EnsureEnglishUICulture.PreferredOrNull == null) { Assert.Equal(expected, localizableResource.ToString()); } - Assert.Equal(expected, localizableResource.ToString(enCulture)); + Assert.Equal(expected, localizableResource.ToString(CustomResourceManager.DefaultCulture)); // Verify with loc culture var arLocalizedStringWithArguments = arResourceSet.GetString(nameOfResourceWithArguments); @@ -124,12 +123,12 @@ public void TestDiagnosticLocalization() private static CustomResourceManager GetTestResourceManagerInstance() { - var enResources = new Dictionary() + var defaultCultureResources = new Dictionary() { - { "Resource1", "My Resource 1 ENU string" }, - { "Resource2", "My Resource 2 ENU string" }, - { "Resource3", "My Resource 3 ENU string" }, - { "ResourceWithArguments", "My Resource ENU string {0}" } + { "Resource1", "My Resource 1 DefaultCulture string" }, + { "Resource2", "My Resource 2 DefaultCulture string" }, + { "Resource3", "My Resource 3 DefaultCulture string" }, + { "ResourceWithArguments", "My Resource DefaultCulture string {0}" } }; var arResources = new Dictionary() @@ -142,7 +141,7 @@ private static CustomResourceManager GetTestResourceManagerInstance() var resourceSetMap = new Dictionary>() { - { "en-US", enResources }, + { CustomResourceManager.DefaultCulture.Name, defaultCultureResources }, { "ar-SA", arResources } }; @@ -152,7 +151,6 @@ private static CustomResourceManager GetTestResourceManagerInstance() private class CustomResourceManager : ResourceManager { private readonly Dictionary _resourceSetMap; - internal static readonly CustomResourceManager TestInstance = GetTestResourceManagerInstance(); public CustomResourceManager(Dictionary resourceSetMap) { @@ -170,6 +168,8 @@ public CustomResourceManager(Dictionary> reso } } + public static CultureInfo DefaultCulture => CultureInfo.CurrentUICulture; + public void VerifyResourceValue(string resourceName, string cultureName, string expectedResourceValue) { var actual = this.GetString(resourceName, CultureInfo.CreateSpecificCulture(cultureName)); @@ -295,10 +295,6 @@ private static void TestDescriptorIsExceptionSafeCore(DiagnosticDescriptor descr private static DiagnosticDescriptor GetDescriptorWithLocalizableResourceStringsThatThrow() { var resourceManager = GetTestResourceManagerInstance(); - var enCulture = CultureInfo.CreateSpecificCulture("en-US"); - var arCulture = CultureInfo.CreateSpecificCulture("ar-SA"); - var enResourceSet = resourceManager.GetResourceSet(enCulture, false, false); - var arResourceSet = resourceManager.GetResourceSet(arCulture, false, false); // Test localizable title that throws. var localizableTitle = new LocalizableResourceString("NonExistentTitleResourceName", resourceManager, typeof(CustomResourceManager));