diff --git a/samples/LocalizationSample/Startup.cs b/samples/LocalizationSample/Startup.cs
index 237fc4b8a1..07b6fbd6cd 100644
--- a/samples/LocalizationSample/Startup.cs
+++ b/samples/LocalizationSample/Startup.cs
@@ -155,7 +155,9 @@ $@"
public static void Main(string[] args)
{
- var config = new ConfigurationBuilder().AddCommandLine(args).Build();
+ var config = new ConfigurationBuilder()
+ .AddCommandLine(args)
+ .Build();
var host = new WebHostBuilder()
.UseKestrel()
diff --git a/src/Microsoft.AspNetCore.Localization/RequestCultureProvider.cs b/src/Microsoft.AspNetCore.Localization/RequestCultureProvider.cs
index bc806a58d3..c3103596e2 100644
--- a/src/Microsoft.AspNetCore.Localization/RequestCultureProvider.cs
+++ b/src/Microsoft.AspNetCore.Localization/RequestCultureProvider.cs
@@ -19,6 +19,5 @@ namespace Microsoft.AspNetCore.Localization
///
public abstract Task DetermineProviderCultureResult(HttpContext httpContext);
-
}
}
diff --git a/src/Microsoft.AspNetCore.Localization/RequestLocalizationMiddleware.cs b/src/Microsoft.AspNetCore.Localization/RequestLocalizationMiddleware.cs
index f9bc60a222..ff5edf81ca 100644
--- a/src/Microsoft.AspNetCore.Localization/RequestLocalizationMiddleware.cs
+++ b/src/Microsoft.AspNetCore.Localization/RequestLocalizationMiddleware.cs
@@ -14,7 +14,7 @@ using Microsoft.Extensions.Options;
namespace Microsoft.AspNetCore.Localization
{
///
- /// Enables automatic setting of the culture for s based on information
+ /// Enables automatic setting of the culture for s based on information
/// sent by the client in headers and logic provided by the application.
///
public class RequestLocalizationMiddleware
diff --git a/src/Microsoft.Extensions.Localization.Abstractions/StringLocalizerOfT.cs b/src/Microsoft.Extensions.Localization.Abstractions/StringLocalizerOfT.cs
index 6862db7e37..131c1126ec 100644
--- a/src/Microsoft.Extensions.Localization.Abstractions/StringLocalizerOfT.cs
+++ b/src/Microsoft.Extensions.Localization.Abstractions/StringLocalizerOfT.cs
@@ -10,7 +10,7 @@ namespace Microsoft.Extensions.Localization
///
/// Provides strings for .
///
- /// The to provide strings for.
+ /// The to provide strings for.
public class StringLocalizer : IStringLocalizer
{
private IStringLocalizer _localizer;
diff --git a/src/Microsoft.Extensions.Localization/Internal/AssemblyResourceStringProvider.cs b/src/Microsoft.Extensions.Localization/Internal/AssemblyResourceStringProvider.cs
index 1c57960271..4289aec633 100644
--- a/src/Microsoft.Extensions.Localization/Internal/AssemblyResourceStringProvider.cs
+++ b/src/Microsoft.Extensions.Localization/Internal/AssemblyResourceStringProvider.cs
@@ -15,8 +15,6 @@ namespace Microsoft.Extensions.Localization.Internal
public class AssemblyResourceStringProvider : IResourceStringProvider
{
private const string AssemblyElementDelimiter = ", ";
- private static readonly string[] _assemblyElementDelimiterArray = new[] { AssemblyElementDelimiter };
- private static readonly char[] _assemblyEqualDelimiter = new[] { '=' };
private readonly AssemblyWrapper _assembly;
private readonly string _resourceBaseName;
@@ -65,6 +63,7 @@ namespace Microsoft.Extensions.Localization.Internal
public IList GetAllResourceStrings(CultureInfo culture, bool throwOnMissing)
{
var cacheKey = GetResourceCacheKey(culture);
+
return _resourceNamesCache.GetOrAdd(cacheKey, _ =>
{
var assembly = GetAssembly(culture);
diff --git a/src/Microsoft.Extensions.Localization/ResourceManagerStringLocalizer.cs b/src/Microsoft.Extensions.Localization/ResourceManagerStringLocalizer.cs
index 128c1c1f6a..74611a2e73 100644
--- a/src/Microsoft.Extensions.Localization/ResourceManagerStringLocalizer.cs
+++ b/src/Microsoft.Extensions.Localization/ResourceManagerStringLocalizer.cs
@@ -106,6 +106,7 @@ namespace Microsoft.Extensions.Localization
}
var value = GetStringSafely(name, null);
+
return new LocalizedString(name, value ?? name, resourceNotFound: value == null);
}
}
@@ -122,6 +123,7 @@ namespace Microsoft.Extensions.Localization
var format = GetStringSafely(name, null);
var value = string.Format(format ?? name, arguments);
+
return new LocalizedString(name, value, resourceNotFound: format == null);
}
}
diff --git a/src/Microsoft.Extensions.Localization/ResourceManagerWithCultureStringLocalizer.cs b/src/Microsoft.Extensions.Localization/ResourceManagerWithCultureStringLocalizer.cs
index 4ca2ed0748..3cd0b898c2 100644
--- a/src/Microsoft.Extensions.Localization/ResourceManagerWithCultureStringLocalizer.cs
+++ b/src/Microsoft.Extensions.Localization/ResourceManagerWithCultureStringLocalizer.cs
@@ -117,6 +117,7 @@ namespace Microsoft.Extensions.Localization
}
var value = GetStringSafely(name, _culture);
+
return new LocalizedString(name, value ?? name);
}
}
@@ -133,6 +134,7 @@ namespace Microsoft.Extensions.Localization
var format = GetStringSafely(name, _culture);
var value = string.Format(_culture, format ?? name, arguments);
+
return new LocalizedString(name, value ?? name, resourceNotFound: format == null);
}
}
diff --git a/test/LocalizationWebsite/Models/Customer.cs b/test/LocalizationWebsite/Models/Customer.cs
index 7d3447df72..b38d34e7f1 100644
--- a/test/LocalizationWebsite/Models/Customer.cs
+++ b/test/LocalizationWebsite/Models/Customer.cs
@@ -1,7 +1,5 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
+// Copyright (c) .NET Foundation. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
namespace LocalizationWebsite.Models
{
diff --git a/test/Microsoft.AspNetCore.Localization.FunctionalTests/LocalizationSampleTest.cs b/test/Microsoft.AspNetCore.Localization.FunctionalTests/LocalizationSampleTest.cs
index 2fac8633ea..92ed3f505e 100644
--- a/test/Microsoft.AspNetCore.Localization.FunctionalTests/LocalizationSampleTest.cs
+++ b/test/Microsoft.AspNetCore.Localization.FunctionalTests/LocalizationSampleTest.cs
@@ -19,6 +19,7 @@ namespace Microsoft.AspNetCore.Localization.FunctionalTests
public Task RunSite_WindowsOnly()
{
var testRunner = new TestRunner(_applicationPath);
+
return testRunner.RunTestAndVerifyResponseHeading(
RuntimeFlavor.Clr,
RuntimeArchitecture.x64,
@@ -27,10 +28,12 @@ namespace Microsoft.AspNetCore.Localization.FunctionalTests
"fr-FR",
"Bonjour
");
}
+
[Fact]
public Task RunSite_AnyOS()
{
var testRunner = new TestRunner(_applicationPath);
+
return testRunner.RunTestAndVerifyResponseHeading(
RuntimeFlavor.CoreClr,
RuntimeArchitecture.x64,
diff --git a/test/Microsoft.AspNetCore.Localization.FunctionalTests/LocalizationTest.cs b/test/Microsoft.AspNetCore.Localization.FunctionalTests/LocalizationTest.cs
index 9e8b81dd88..1c8be16ab4 100644
--- a/test/Microsoft.AspNetCore.Localization.FunctionalTests/LocalizationTest.cs
+++ b/test/Microsoft.AspNetCore.Localization.FunctionalTests/LocalizationTest.cs
@@ -17,6 +17,7 @@ namespace Microsoft.AspNetCore.Localization.FunctionalTests
public Task Localization_CustomCulture_AllOS()
{
var testRunner = new TestRunner(_applicationPath);
+
return testRunner.RunTestAndVerifyResponse(
RuntimeFlavor.CoreClr,
RuntimeArchitecture.x64,
@@ -32,6 +33,7 @@ namespace Microsoft.AspNetCore.Localization.FunctionalTests
public Task Localization_CustomCulture_Windows()
{
var testRunner = new TestRunner(_applicationPath);
+
return testRunner.RunTestAndVerifyResponse(
RuntimeFlavor.Clr,
RuntimeArchitecture.x64,
@@ -45,6 +47,7 @@ namespace Microsoft.AspNetCore.Localization.FunctionalTests
public Task Localization_ResourcesInClassLibrary_ReturnLocalizedValue_AllOS()
{
var testRunner = new TestRunner(_applicationPath);
+
return testRunner.RunTestAndVerifyResponse(
RuntimeFlavor.CoreClr,
RuntimeArchitecture.x64,
@@ -60,6 +63,7 @@ namespace Microsoft.AspNetCore.Localization.FunctionalTests
public Task Localization_ResourcesInClassLibrary_ReturnLocalizedValue_Windows()
{
var testRunner = new TestRunner(_applicationPath);
+
return testRunner.RunTestAndVerifyResponse(
RuntimeFlavor.Clr,
RuntimeArchitecture.x64,
@@ -73,6 +77,7 @@ namespace Microsoft.AspNetCore.Localization.FunctionalTests
public Task Localization_ResourcesInFolder_ReturnLocalizedValue_AllOS()
{
var testRunner = new TestRunner(_applicationPath);
+
return testRunner.RunTestAndVerifyResponse(
RuntimeFlavor.CoreClr,
RuntimeArchitecture.x64,
@@ -88,6 +93,7 @@ namespace Microsoft.AspNetCore.Localization.FunctionalTests
public Task Localization_ResourcesInFolder_ReturnLocalizedValue_Windows()
{
var testRunner = new TestRunner(_applicationPath);
+
return testRunner.RunTestAndVerifyResponse(
RuntimeFlavor.Clr,
RuntimeArchitecture.x64,
@@ -101,6 +107,7 @@ namespace Microsoft.AspNetCore.Localization.FunctionalTests
public Task Localization_ResourcesInFolder_ReturnLocalizedValue_WithCultureFallback_AllOS()
{
var testRunner = new TestRunner(_applicationPath);
+
return testRunner.RunTestAndVerifyResponse(
RuntimeFlavor.CoreClr,
RuntimeArchitecture.x64,
@@ -116,6 +123,7 @@ namespace Microsoft.AspNetCore.Localization.FunctionalTests
public Task Localization_ResourcesInFolder_ReturnLocalizedValue_WithCultureFallback_Windows()
{
var testRunner = new TestRunner(_applicationPath);
+
return testRunner.RunTestAndVerifyResponse(
RuntimeFlavor.Clr,
RuntimeArchitecture.x64,
@@ -129,6 +137,7 @@ namespace Microsoft.AspNetCore.Localization.FunctionalTests
public Task Localization_ResourcesInFolder_ReturnNonLocalizedValue_CultureHierarchyTooDeep_AllOS()
{
var testRunner = new TestRunner(_applicationPath);
+
return testRunner.RunTestAndVerifyResponse(
RuntimeFlavor.CoreClr,
RuntimeArchitecture.x64,
@@ -144,6 +153,7 @@ namespace Microsoft.AspNetCore.Localization.FunctionalTests
public Task Localization_ResourcesInFolder_ReturnNonLocalizedValue_CultureHierarchyTooDeep_Windows()
{
var testRunner = new TestRunner(_applicationPath);
+
return testRunner.RunTestAndVerifyResponse(
RuntimeFlavor.Clr,
RuntimeArchitecture.x64,
@@ -157,6 +167,7 @@ namespace Microsoft.AspNetCore.Localization.FunctionalTests
public Task Localization_ResourcesAtRootFolder_ReturnLocalizedValue_AllOS()
{
var testRunner = new TestRunner(_applicationPath);
+
return testRunner.RunTestAndVerifyResponse(
RuntimeFlavor.CoreClr,
RuntimeArchitecture.x64,
@@ -172,6 +183,7 @@ namespace Microsoft.AspNetCore.Localization.FunctionalTests
public Task Localization_ResourcesAtRootFolder_ReturnLocalizedValue_Windows()
{
var testRunner = new TestRunner(_applicationPath);
+
return testRunner.RunTestAndVerifyResponse(
RuntimeFlavor.Clr,
RuntimeArchitecture.x64,
diff --git a/test/Microsoft.AspNetCore.Localization.Routing.Tests/RouteDataRequestCultureProviderTest.cs b/test/Microsoft.AspNetCore.Localization.Routing.Tests/RouteDataRequestCultureProviderTest.cs
index b5400a2cd6..dd57f56f68 100644
--- a/test/Microsoft.AspNetCore.Localization.Routing.Tests/RouteDataRequestCultureProviderTest.cs
+++ b/test/Microsoft.AspNetCore.Localization.Routing.Tests/RouteDataRequestCultureProviderTest.cs
@@ -106,6 +106,7 @@ namespace Microsoft.AspNetCore.Localization.Routing
{
var requestCultureFeature = context.Features.Get();
var requestCulture = requestCultureFeature.RequestCulture;
+
return context.Response.WriteAsync(
$"{requestCulture.Culture.Name},{requestCulture.UICulture.Name}");
});
@@ -168,6 +169,7 @@ namespace Microsoft.AspNetCore.Localization.Routing
{
var requestCultureFeature = context.Features.Get();
var requestCulture = requestCultureFeature.RequestCulture;
+
return context.Response.WriteAsync(
$"{requestCulture.Culture.Name},{requestCulture.UICulture.Name}");
});
diff --git a/test/Microsoft.AspNetCore.Localization.Tests/AcceptLanguageHeaderRequestCultureProviderTest.cs b/test/Microsoft.AspNetCore.Localization.Tests/AcceptLanguageHeaderRequestCultureProviderTest.cs
index 4861c8ac08..c5c2a7722e 100644
--- a/test/Microsoft.AspNetCore.Localization.Tests/AcceptLanguageHeaderRequestCultureProviderTest.cs
+++ b/test/Microsoft.AspNetCore.Localization.Tests/AcceptLanguageHeaderRequestCultureProviderTest.cs
@@ -137,6 +137,7 @@ namespace Microsoft.Extensions.Localization.Tests
{
var requestCultureFeature = context.Features.Get();
var requestCulture = requestCultureFeature.RequestCulture;
+
Assert.Equal("ar-YE", requestCulture.Culture.Name);
Assert.Equal("ar-YE", requestCulture.UICulture.Name);
return Task.FromResult(0);
diff --git a/test/Microsoft.AspNetCore.Localization.Tests/CookieRequestCultureProviderTest.cs b/test/Microsoft.AspNetCore.Localization.Tests/CookieRequestCultureProviderTest.cs
index d40833e97a..316ab69d57 100644
--- a/test/Microsoft.AspNetCore.Localization.Tests/CookieRequestCultureProviderTest.cs
+++ b/test/Microsoft.AspNetCore.Localization.Tests/CookieRequestCultureProviderTest.cs
@@ -93,6 +93,7 @@ namespace Microsoft.Extensions.Localization.Tests
using (var server = new TestServer(builder))
{
var client = server.CreateClient();
+
client.DefaultRequestHeaders.Add("Cookie", new CookieHeaderValue("Preferences", "uic=ar-SA").ToString());
var response = await client.GetAsync(string.Empty);
}
diff --git a/test/Microsoft.AspNetCore.Localization.Tests/QueryStringRequestCultureProviderTest.cs b/test/Microsoft.AspNetCore.Localization.Tests/QueryStringRequestCultureProviderTest.cs
index d7935fc113..113d54c90e 100644
--- a/test/Microsoft.AspNetCore.Localization.Tests/QueryStringRequestCultureProviderTest.cs
+++ b/test/Microsoft.AspNetCore.Localization.Tests/QueryStringRequestCultureProviderTest.cs
@@ -273,6 +273,7 @@ namespace Microsoft.Extensions.Localization.Tests
}
};
var provider = new QueryStringRequestCultureProvider();
+
provider.QueryStringKey = "c";
provider.UIQueryStringKey = "uic";
options.RequestCultureProviders.Insert(0, provider);
diff --git a/test/Microsoft.Extensions.Localization.Tests/ResourceManagerStringLocalizerTest.cs b/test/Microsoft.Extensions.Localization.Tests/ResourceManagerStringLocalizerTest.cs
index c0ef4b9714..a3fada4bb2 100644
--- a/test/Microsoft.Extensions.Localization.Tests/ResourceManagerStringLocalizerTest.cs
+++ b/test/Microsoft.Extensions.Localization.Tests/ResourceManagerStringLocalizerTest.cs
@@ -56,7 +56,6 @@ namespace Microsoft.Extensions.Localization.Tests
var resourceManager2 = new TestResourceManager(baseName, resourceAssembly2.Assembly);
var resourceStreamManager1 = new TestResourceStringProvider(resourceNamesCache, resourceAssembly1, baseName);
var resourceStreamManager2 = new TestResourceStringProvider(resourceNamesCache, resourceAssembly2, baseName);
-
var localizer1 = new ResourceManagerStringLocalizer(
resourceManager1,
resourceStreamManager1,
@@ -194,17 +193,15 @@ namespace Microsoft.Extensions.Localization.Tests
public class TestAssemblyWrapper : AssemblyWrapper
{
- private readonly string _name;
-
public TestAssemblyWrapper(string name = nameof(TestAssemblyWrapper))
: base(typeof(TestAssemblyWrapper).GetTypeInfo().Assembly)
{
- _name = name;
+ FullName = name;
}
public int GetManifestResourceStreamCallCount { get; private set; }
- public override string FullName => _name;
+ public override string FullName { get; }
public override Stream GetManifestResourceStream(string name)
{