diff --git a/samples/LocalizationSample/Startup.cs b/samples/LocalizationSample/Startup.cs
index a86f92ff06..d2f4392c55 100644
--- a/samples/LocalizationSample/Startup.cs
+++ b/samples/LocalizationSample/Startup.cs
@@ -5,6 +5,7 @@ using System;
using System.Collections.Generic;
using System.Globalization;
using Microsoft.AspNet.Builder;
+using Microsoft.AspNet.Hosting;
using Microsoft.AspNet.Http;
using Microsoft.AspNet.Http.Features;
using Microsoft.AspNet.Localization;
@@ -162,5 +163,15 @@ $@"
await context.Response.WriteAsync($" ");
await context.Response.WriteAsync($" ");
}
+
+ public static void Main(string[] args)
+ {
+ var application = new WebApplicationBuilder()
+ .UseConfiguration(WebApplicationConfiguration.GetDefault(args))
+ .UseStartup()
+ .Build();
+
+ application.Run();
+ }
}
}
diff --git a/samples/LocalizationSample/hosting.json b/samples/LocalizationSample/hosting.json
new file mode 100644
index 0000000000..f8ef14574d
--- /dev/null
+++ b/samples/LocalizationSample/hosting.json
@@ -0,0 +1,3 @@
+{
+ "server": "Microsoft.AspNet.Server.Kestrel"
+}
diff --git a/samples/LocalizationSample/project.json b/samples/LocalizationSample/project.json
index 92ab455287..edb765cc3d 100644
--- a/samples/LocalizationSample/project.json
+++ b/samples/LocalizationSample/project.json
@@ -1,5 +1,4 @@
{
- "webroot": "wwwroot",
"version": "1.0.0-*",
"dependencies": {
@@ -8,8 +7,12 @@
"Microsoft.AspNet.Server.Kestrel": "1.0.0-*"
},
+ "compilationOptions": {
+ "emitEntryPoint": true
+ },
+
"commands": {
- "web": "Microsoft.AspNet.Server.Kestrel"
+ "web": "LocalizationSample"
},
"frameworks": {
diff --git a/test/Microsoft.AspNet.Localization.Tests/AcceptLanguageHeaderRequestCultureProviderTest.cs b/test/Microsoft.AspNet.Localization.Tests/AcceptLanguageHeaderRequestCultureProviderTest.cs
index d5d9ba20cf..4704573e43 100644
--- a/test/Microsoft.AspNet.Localization.Tests/AcceptLanguageHeaderRequestCultureProviderTest.cs
+++ b/test/Microsoft.AspNet.Localization.Tests/AcceptLanguageHeaderRequestCultureProviderTest.cs
@@ -5,6 +5,7 @@ using System.Collections.Generic;
using System.Globalization;
using System.Threading.Tasks;
using Microsoft.AspNet.Builder;
+using Microsoft.AspNet.Hosting;
using Microsoft.AspNet.Http.Features;
using Microsoft.AspNet.Localization;
using Microsoft.AspNet.TestHost;
@@ -17,26 +18,29 @@ namespace Microsoft.Extensions.Localization.Tests
[Fact]
public async void GetFallbackLanguage_ReturnsFirstNonNullCultureFromSupportedCultureList()
{
- using (var server = TestServer.Create(app =>
- {
- var options = new RequestLocalizationOptions
+ var builder = new WebApplicationBuilder()
+ .Configure(app =>
{
- DefaultRequestCulture = new RequestCulture("en-US"),
- SupportedCultures = new List
+ var options = new RequestLocalizationOptions
{
- new CultureInfo("ar-SA"),
- new CultureInfo("en-US")
- }
- };
- app.UseRequestLocalization(options);
- app.Run(context =>
- {
- var requestCultureFeature = context.Features.Get();
- var requestCulture = requestCultureFeature.RequestCulture;
- Assert.Equal("ar-SA", requestCulture.Culture.Name);
- return Task.FromResult(0);
+ DefaultRequestCulture = new RequestCulture("en-US"),
+ SupportedCultures = new List
+ {
+ new CultureInfo("ar-SA"),
+ new CultureInfo("en-US")
+ }
+ };
+ app.UseRequestLocalization(options);
+ app.Run(context =>
+ {
+ var requestCultureFeature = context.Features.Get();
+ var requestCulture = requestCultureFeature.RequestCulture;
+ Assert.Equal("ar-SA", requestCulture.Culture.Name);
+ return Task.FromResult(0);
+ });
});
- }))
+
+ using (var server = new TestServer(builder))
{
var client = server.CreateClient();
client.DefaultRequestHeaders.AcceptLanguage.ParseAdd("jp,ar-SA,en-US");
@@ -49,26 +53,29 @@ namespace Microsoft.Extensions.Localization.Tests
[Fact]
public async void GetFallbackLanguage_ReturnsFromSupportedCulture_AcceptLanguageListContainsSupportedCultures()
{
- using (var server = TestServer.Create(app =>
- {
- var options = new RequestLocalizationOptions
+ var builder = new WebApplicationBuilder()
+ .Configure(app =>
{
- DefaultRequestCulture = new RequestCulture("fr-FR"),
- SupportedCultures = new List
+ var options = new RequestLocalizationOptions
{
- new CultureInfo("ar-SA"),
- new CultureInfo("en-US")
- }
- };
- app.UseRequestLocalization(options);
- app.Run(context =>
- {
- var requestCultureFeature = context.Features.Get();
- var requestCulture = requestCultureFeature.RequestCulture;
- Assert.Equal("ar-SA", requestCulture.Culture.Name);
- return Task.FromResult(0);
+ DefaultRequestCulture = new RequestCulture("fr-FR"),
+ SupportedCultures = new List
+ {
+ new CultureInfo("ar-SA"),
+ new CultureInfo("en-US")
+ }
+ };
+ app.UseRequestLocalization(options);
+ app.Run(context =>
+ {
+ var requestCultureFeature = context.Features.Get();
+ var requestCulture = requestCultureFeature.RequestCulture;
+ Assert.Equal("ar-SA", requestCulture.Culture.Name);
+ return Task.FromResult(0);
+ });
});
- }))
+
+ using (var server = new TestServer(builder))
{
var client = server.CreateClient();
client.DefaultRequestHeaders.AcceptLanguage.ParseAdd("en-GB,ar-SA,en-US");
@@ -80,26 +87,29 @@ namespace Microsoft.Extensions.Localization.Tests
[Fact]
public async void GetFallbackLanguage_ReturnsDefault_AcceptLanguageListDoesnotContainSupportedCultures()
{
- using (var server = TestServer.Create(app =>
- {
- var options = new RequestLocalizationOptions
+ var builder = new WebApplicationBuilder()
+ .Configure(app =>
{
- DefaultRequestCulture = new RequestCulture("fr-FR"),
- SupportedCultures = new List
+ var options = new RequestLocalizationOptions
{
- new CultureInfo("ar-SA"),
- new CultureInfo("af-ZA")
- }
- };
- app.UseRequestLocalization(options);
- app.Run(context =>
- {
- var requestCultureFeature = context.Features.Get();
- var requestCulture = requestCultureFeature.RequestCulture;
- Assert.Equal("fr-FR", requestCulture.Culture.Name);
- return Task.FromResult(0);
+ DefaultRequestCulture = new RequestCulture("fr-FR"),
+ SupportedCultures = new List
+ {
+ new CultureInfo("ar-SA"),
+ new CultureInfo("af-ZA")
+ }
+ };
+ app.UseRequestLocalization(options);
+ app.Run(context =>
+ {
+ var requestCultureFeature = context.Features.Get();
+ var requestCulture = requestCultureFeature.RequestCulture;
+ Assert.Equal("fr-FR", requestCulture.Culture.Name);
+ return Task.FromResult(0);
+ });
});
- }))
+
+ using (var server = new TestServer(builder))
{
var client = server.CreateClient();
client.DefaultRequestHeaders.AcceptLanguage.ParseAdd("en-GB,ar-MA,en-US");
@@ -112,30 +122,33 @@ namespace Microsoft.Extensions.Localization.Tests
[Fact]
public async void OmitDefaultRequestCultureShouldNotThrowNullReferenceException_And_ShouldGetTheRightCulture()
{
- using (var server = TestServer.Create(app =>
- {
- var options = new RequestLocalizationOptions()
+ var builder = new WebApplicationBuilder()
+ .Configure(app =>
{
- DefaultRequestCulture = new RequestCulture("en-US"),
- SupportedCultures = new List
+ var options = new RequestLocalizationOptions()
{
- new CultureInfo("ar-YE")
- },
- SupportedUICultures = new List
+ DefaultRequestCulture = new RequestCulture("en-US"),
+ SupportedCultures = new List
+ {
+ new CultureInfo("ar-YE")
+ },
+ SupportedUICultures = new List
+ {
+ new CultureInfo("ar-YE")
+ }
+ };
+ app.UseRequestLocalization(options);
+ app.Run(context =>
{
- new CultureInfo("ar-YE")
- }
- };
- app.UseRequestLocalization(options);
- app.Run(context =>
- {
- 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);
+ 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);
+ });
});
- }))
+
+ using (var server = new TestServer(builder))
{
var client = server.CreateClient();
client.DefaultRequestHeaders.AcceptLanguage.ParseAdd("en-GB,ar-YE,en-US");
diff --git a/test/Microsoft.AspNet.Localization.Tests/CookieRequestCultureProviderTest.cs b/test/Microsoft.AspNet.Localization.Tests/CookieRequestCultureProviderTest.cs
index 6012cacfc9..8ebb629c9c 100644
--- a/test/Microsoft.AspNet.Localization.Tests/CookieRequestCultureProviderTest.cs
+++ b/test/Microsoft.AspNet.Localization.Tests/CookieRequestCultureProviderTest.cs
@@ -5,6 +5,7 @@ using System.Collections.Generic;
using System.Globalization;
using System.Threading.Tasks;
using Microsoft.AspNet.Builder;
+using Microsoft.AspNet.Hosting;
using Microsoft.AspNet.Http.Features;
using Microsoft.AspNet.Localization;
using Microsoft.AspNet.TestHost;
@@ -18,32 +19,35 @@ namespace Microsoft.Extensions.Localization.Tests
[Fact]
public async void GetCultureInfoFromPersistentCookie()
{
- using (var server = TestServer.Create(app =>
- {
- var options = new RequestLocalizationOptions()
+ var builder = new WebApplicationBuilder()
+ .Configure(app =>
{
- DefaultRequestCulture = new RequestCulture("en-US"),
- SupportedCultures = new List
+ var options = new RequestLocalizationOptions()
{
- new CultureInfo("ar-SA")
- },
- SupportedUICultures = new List
+ DefaultRequestCulture = new RequestCulture("en-US"),
+ SupportedCultures = new List
+ {
+ new CultureInfo("ar-SA")
+ },
+ SupportedUICultures = new List
+ {
+ new CultureInfo("ar-SA")
+ }
+ };
+ var provider = new CookieRequestCultureProvider();
+ provider.CookieName = "Preferences";
+ options.RequestCultureProviders.Insert(0, provider);
+ app.UseRequestLocalization(options);
+ app.Run(context =>
{
- new CultureInfo("ar-SA")
- }
- };
- var provider = new CookieRequestCultureProvider();
- provider.CookieName = "Preferences";
- options.RequestCultureProviders.Insert(0, provider);
- app.UseRequestLocalization(options);
- app.Run(context =>
- {
- var requestCultureFeature = context.Features.Get();
- var requestCulture = requestCultureFeature.RequestCulture;
- Assert.Equal("ar-SA", requestCulture.Culture.Name);
- return Task.FromResult(0);
+ var requestCultureFeature = context.Features.Get();
+ var requestCulture = requestCultureFeature.RequestCulture;
+ Assert.Equal("ar-SA", requestCulture.Culture.Name);
+ return Task.FromResult(0);
+ });
});
- }))
+
+ using (var server = new TestServer(builder))
{
var client = server.CreateClient();
var culture = new CultureInfo("ar-SA");
@@ -58,32 +62,35 @@ namespace Microsoft.Extensions.Localization.Tests
[Fact]
public async void GetDefaultCultureInfoIfCultureKeysAreMissingOrInvalid()
{
- using (var server = TestServer.Create(app =>
- {
- var options = new RequestLocalizationOptions()
+ var builder = new WebApplicationBuilder()
+ .Configure(app =>
{
- DefaultRequestCulture = new RequestCulture("en-US"),
- SupportedCultures = new List
+ var options = new RequestLocalizationOptions()
{
- new CultureInfo("ar-SA")
- },
- SupportedUICultures = new List
+ DefaultRequestCulture = new RequestCulture("en-US"),
+ SupportedCultures = new List
+ {
+ new CultureInfo("ar-SA")
+ },
+ SupportedUICultures = new List
+ {
+ new CultureInfo("ar-SA")
+ }
+ };
+ var provider = new CookieRequestCultureProvider();
+ provider.CookieName = "Preferences";
+ options.RequestCultureProviders.Insert(0, provider);
+ app.UseRequestLocalization(options);
+ app.Run(context =>
{
- new CultureInfo("ar-SA")
- }
- };
- var provider = new CookieRequestCultureProvider();
- provider.CookieName = "Preferences";
- options.RequestCultureProviders.Insert(0, provider);
- app.UseRequestLocalization(options);
- app.Run(context =>
- {
- var requestCultureFeature = context.Features.Get();
- var requestCulture = requestCultureFeature.RequestCulture;
- Assert.Equal("en-US", requestCulture.Culture.Name);
- return Task.FromResult(0);
+ var requestCultureFeature = context.Features.Get();
+ var requestCulture = requestCultureFeature.RequestCulture;
+ Assert.Equal("en-US", requestCulture.Culture.Name);
+ return Task.FromResult(0);
+ });
});
- }))
+
+ using (var server = new TestServer(builder))
{
var client = server.CreateClient();
client.DefaultRequestHeaders.Add("Cookie", new CookieHeaderValue("Preferences", "uic=ar-SA").ToString());
@@ -94,32 +101,35 @@ namespace Microsoft.Extensions.Localization.Tests
[Fact]
public async void GetDefaultCultureInfoIfCookieDoesNotExist()
{
- using (var server = TestServer.Create(app =>
- {
- var options = new RequestLocalizationOptions()
+ var builder = new WebApplicationBuilder()
+ .Configure(app =>
{
- DefaultRequestCulture = new RequestCulture("en-US"),
- SupportedCultures = new List
+ var options = new RequestLocalizationOptions()
{
- new CultureInfo("ar-SA")
- },
- SupportedUICultures = new List
+ DefaultRequestCulture = new RequestCulture("en-US"),
+ SupportedCultures = new List
+ {
+ new CultureInfo("ar-SA")
+ },
+ SupportedUICultures = new List
+ {
+ new CultureInfo("ar-SA")
+ }
+ };
+ var provider = new CookieRequestCultureProvider();
+ provider.CookieName = "Preferences";
+ options.RequestCultureProviders.Insert(0, provider);
+ app.UseRequestLocalization(options);
+ app.Run(context =>
{
- new CultureInfo("ar-SA")
- }
- };
- var provider = new CookieRequestCultureProvider();
- provider.CookieName = "Preferences";
- options.RequestCultureProviders.Insert(0, provider);
- app.UseRequestLocalization(options);
- app.Run(context =>
- {
- var requestCultureFeature = context.Features.Get();
- var requestCulture = requestCultureFeature.RequestCulture;
- Assert.Equal("en-US", requestCulture.Culture.Name);
- return Task.FromResult(0);
+ var requestCultureFeature = context.Features.Get();
+ var requestCulture = requestCultureFeature.RequestCulture;
+ Assert.Equal("en-US", requestCulture.Culture.Name);
+ return Task.FromResult(0);
+ });
});
- }))
+
+ using (var server = new TestServer(builder))
{
var client = server.CreateClient();
var response = await client.GetAsync(string.Empty);
diff --git a/test/Microsoft.AspNet.Localization.Tests/CustomRequestCultureProviderTest.cs b/test/Microsoft.AspNet.Localization.Tests/CustomRequestCultureProviderTest.cs
index 72e0a9254a..95984e9c38 100644
--- a/test/Microsoft.AspNet.Localization.Tests/CustomRequestCultureProviderTest.cs
+++ b/test/Microsoft.AspNet.Localization.Tests/CustomRequestCultureProviderTest.cs
@@ -6,11 +6,11 @@ using System.Collections.Generic;
using System.Globalization;
using System.Threading.Tasks;
using Microsoft.AspNet.Builder;
+using Microsoft.AspNet.Hosting;
using Microsoft.AspNet.Http;
using Microsoft.AspNet.Http.Features;
using Microsoft.AspNet.Localization;
using Microsoft.AspNet.TestHost;
-using Microsoft.Extensions.Globalization;
using Xunit;
namespace Microsoft.Extensions.Localization.Tests
@@ -20,35 +20,38 @@ namespace Microsoft.Extensions.Localization.Tests
[Fact]
public async void CustomRequestCultureProviderThatGetsCultureInfoFromUrl()
{
- using (var server = TestServer.Create(app =>
- {
- var options = new RequestLocalizationOptions()
+ var builder = new WebApplicationBuilder()
+ .Configure(app =>
{
- DefaultRequestCulture = new RequestCulture("en-US"),
- SupportedCultures = new List
+ var options = new RequestLocalizationOptions()
{
- new CultureInfo("ar")
- },
- SupportedUICultures = new List
+ DefaultRequestCulture = new RequestCulture("en-US"),
+ SupportedCultures = new List
+ {
+ new CultureInfo("ar")
+ },
+ SupportedUICultures = new List
+ {
+ new CultureInfo("ar")
+ }
+ };
+ options.RequestCultureProviders.Insert(0, new CustomRequestCultureProvider(context =>
{
- new CultureInfo("ar")
- }
- };
- options.RequestCultureProviders.Insert(0, new CustomRequestCultureProvider(context =>
- {
- var culture = GetCultureInfoFromUrl(context, options.SupportedCultures);
- var requestCulture = new ProviderCultureResult(culture);
- return Task.FromResult(requestCulture);
- }));
- app.UseRequestLocalization(options);
- app.Run(context =>
- {
- var requestCultureFeature = context.Features.Get();
- var requestCulture = requestCultureFeature.RequestCulture;
- Assert.Equal("ar", requestCulture.Culture.Name);
- return Task.FromResult(0);
+ var culture = GetCultureInfoFromUrl(context, options.SupportedCultures);
+ var requestCulture = new ProviderCultureResult(culture);
+ return Task.FromResult(requestCulture);
+ }));
+ app.UseRequestLocalization(options);
+ app.Run(context =>
+ {
+ var requestCultureFeature = context.Features.Get();
+ var requestCulture = requestCultureFeature.RequestCulture;
+ Assert.Equal("ar", requestCulture.Culture.Name);
+ return Task.FromResult(0);
+ });
});
- }))
+
+ using (var server = new TestServer(builder))
{
var client = server.CreateClient();
var response = await client.GetAsync("/ar/page");
diff --git a/test/Microsoft.AspNet.Localization.Tests/QueryStringRequestCultureProviderTest.cs b/test/Microsoft.AspNet.Localization.Tests/QueryStringRequestCultureProviderTest.cs
index 282e194e76..8bb27a8368 100644
--- a/test/Microsoft.AspNet.Localization.Tests/QueryStringRequestCultureProviderTest.cs
+++ b/test/Microsoft.AspNet.Localization.Tests/QueryStringRequestCultureProviderTest.cs
@@ -5,6 +5,7 @@ using System.Collections.Generic;
using System.Globalization;
using System.Threading.Tasks;
using Microsoft.AspNet.Builder;
+using Microsoft.AspNet.Hosting;
using Microsoft.AspNet.Http.Features;
using Microsoft.AspNet.Localization;
using Microsoft.AspNet.TestHost;
@@ -17,31 +18,34 @@ namespace Microsoft.Extensions.Localization.Tests
[Fact]
public async void GetCultureInfoFromQueryString()
{
- using (var server = TestServer.Create(app =>
- {
- var options = new RequestLocalizationOptions()
+ var builder = new WebApplicationBuilder()
+ .Configure(app =>
{
- DefaultRequestCulture = new RequestCulture("en-US"),
- SupportedCultures = new List
+ var options = new RequestLocalizationOptions()
{
- new CultureInfo("ar-SA")
- },
- SupportedUICultures = new List
- {
- new CultureInfo("ar-YE")
- }
- };
+ DefaultRequestCulture = new RequestCulture("en-US"),
+ SupportedCultures = new List
+ {
+ new CultureInfo("ar-SA")
+ },
+ SupportedUICultures = new List
+ {
+ new CultureInfo("ar-YE")
+ }
+ };
- app.UseRequestLocalization(options);
- app.Run(context =>
- {
- var requestCultureFeature = context.Features.Get();
- var requestCulture = requestCultureFeature.RequestCulture;
- Assert.Equal("ar-SA", requestCulture.Culture.Name);
- Assert.Equal("ar-YE", requestCulture.UICulture.Name);
- return Task.FromResult(0);
+ app.UseRequestLocalization(options);
+ app.Run(context =>
+ {
+ var requestCultureFeature = context.Features.Get();
+ var requestCulture = requestCultureFeature.RequestCulture;
+ Assert.Equal("ar-SA", requestCulture.Culture.Name);
+ Assert.Equal("ar-YE", requestCulture.UICulture.Name);
+ return Task.FromResult(0);
+ });
});
- }))
+
+ using (var server = new TestServer(builder))
{
var client = server.CreateClient();
var response = await client.GetAsync("/page?culture=ar-SA&ui-culture=ar-YE");
@@ -51,22 +55,25 @@ namespace Microsoft.Extensions.Localization.Tests
[Fact]
public async void GetDefaultCultureInfoIfCultureKeysAreMissing()
{
- using (var server = TestServer.Create(app =>
- {
- var options = new RequestLocalizationOptions
+ var builder = new WebApplicationBuilder()
+ .Configure(app =>
{
- DefaultRequestCulture = new RequestCulture("en-US"),
- };
- app.UseRequestLocalization(options);
- app.Run(context =>
- {
- var requestCultureFeature = context.Features.Get();
- var requestCulture = requestCultureFeature.RequestCulture;
- Assert.Equal("en-US", requestCulture.Culture.Name);
- Assert.Equal("en-US", requestCulture.UICulture.Name);
- return Task.FromResult(0);
+ var options = new RequestLocalizationOptions
+ {
+ DefaultRequestCulture = new RequestCulture("en-US"),
+ };
+ app.UseRequestLocalization(options);
+ app.Run(context =>
+ {
+ var requestCultureFeature = context.Features.Get();
+ var requestCulture = requestCultureFeature.RequestCulture;
+ Assert.Equal("en-US", requestCulture.Culture.Name);
+ Assert.Equal("en-US", requestCulture.UICulture.Name);
+ return Task.FromResult(0);
+ });
});
- }))
+
+ using (var server = new TestServer(builder))
{
var client = server.CreateClient();
var response = await client.GetAsync("/page");
@@ -76,29 +83,32 @@ namespace Microsoft.Extensions.Localization.Tests
[Fact]
public async void GetDefaultCultureInfoIfCultureIsInSupportedCultureList()
{
- using (var server = TestServer.Create(app =>
- {
- var options = new RequestLocalizationOptions()
+ var builder = new WebApplicationBuilder()
+ .Configure(app =>
{
- DefaultRequestCulture = new RequestCulture("en-US"),
- SupportedCultures = new List
+ var options = new RequestLocalizationOptions()
{
- new CultureInfo("ar-SA")
- },
- SupportedUICultures = new List
+ DefaultRequestCulture = new RequestCulture("en-US"),
+ SupportedCultures = new List
+ {
+ new CultureInfo("ar-SA")
+ },
+ SupportedUICultures = new List
+ {
+ new CultureInfo("ar-SA")
+ }
+ };
+ app.UseRequestLocalization(options);
+ app.Run(context =>
{
- new CultureInfo("ar-SA")
- }
- };
- app.UseRequestLocalization(options);
- app.Run(context =>
- {
- var requestCultureFeature = context.Features.Get();
- var requestCulture = requestCultureFeature.RequestCulture;
- Assert.Equal("en-US", requestCulture.Culture.Name);
- return Task.FromResult(0);
+ var requestCultureFeature = context.Features.Get();
+ var requestCulture = requestCultureFeature.RequestCulture;
+ Assert.Equal("en-US", requestCulture.Culture.Name);
+ return Task.FromResult(0);
+ });
});
- }))
+
+ using (var server = new TestServer(builder))
{
var client = server.CreateClient();
var response = await client.GetAsync("/page?culture=ar-XY&ui-culture=ar-SA");
@@ -108,29 +118,32 @@ namespace Microsoft.Extensions.Localization.Tests
[Fact]
public async void GetDefaultCultureInfoIfUICultureIsNotInSupportedList()
{
- using (var server = TestServer.Create(app =>
- {
- var options = new RequestLocalizationOptions()
+ var builder = new WebApplicationBuilder()
+ .Configure(app =>
{
- DefaultRequestCulture = new RequestCulture("en-US"),
- SupportedCultures = new List
+ var options = new RequestLocalizationOptions()
{
- new CultureInfo("ar-SA")
- },
- SupportedUICultures = new List
+ DefaultRequestCulture = new RequestCulture("en-US"),
+ SupportedCultures = new List
+ {
+ new CultureInfo("ar-SA")
+ },
+ SupportedUICultures = new List
+ {
+ new CultureInfo("ar-SA")
+ }
+ };
+ app.UseRequestLocalization(options);
+ app.Run(context =>
{
- new CultureInfo("ar-SA")
- }
- };
- app.UseRequestLocalization(options);
- app.Run(context =>
- {
- var requestCultureFeature = context.Features.Get();
- var requestCulture = requestCultureFeature.RequestCulture;
- Assert.Equal("en-US", requestCulture.UICulture.Name);
- return Task.FromResult(0);
+ var requestCultureFeature = context.Features.Get();
+ var requestCulture = requestCultureFeature.RequestCulture;
+ Assert.Equal("en-US", requestCulture.UICulture.Name);
+ return Task.FromResult(0);
+ });
});
- }))
+
+ using (var server = new TestServer(builder))
{
var client = server.CreateClient();
var response = await client.GetAsync("/page?culture=ar-SA&ui-culture=ar-XY");
@@ -140,30 +153,33 @@ namespace Microsoft.Extensions.Localization.Tests
[Fact]
public async void GetSameCultureInfoIfCultureKeyIsMissing()
{
- using (var server = TestServer.Create(app =>
- {
- var options = new RequestLocalizationOptions()
+ var builder = new WebApplicationBuilder()
+ .Configure(app =>
{
- DefaultRequestCulture = new RequestCulture("en-US"),
- SupportedCultures = new List
+ var options = new RequestLocalizationOptions()
{
- new CultureInfo("ar-SA")
- },
- SupportedUICultures = new List
+ DefaultRequestCulture = new RequestCulture("en-US"),
+ SupportedCultures = new List
+ {
+ new CultureInfo("ar-SA")
+ },
+ SupportedUICultures = new List
+ {
+ new CultureInfo("ar-SA")
+ }
+ };
+ app.UseRequestLocalization(options);
+ app.Run(context =>
{
- new CultureInfo("ar-SA")
- }
- };
- app.UseRequestLocalization(options);
- app.Run(context =>
- {
- var requestCultureFeature = context.Features.Get();
- var requestCulture = requestCultureFeature.RequestCulture;
- Assert.Equal("ar-SA", requestCulture.Culture.Name);
- Assert.Equal("ar-SA", requestCulture.UICulture.Name);
- return Task.FromResult(0);
+ var requestCultureFeature = context.Features.Get();
+ var requestCulture = requestCultureFeature.RequestCulture;
+ Assert.Equal("ar-SA", requestCulture.Culture.Name);
+ Assert.Equal("ar-SA", requestCulture.UICulture.Name);
+ return Task.FromResult(0);
+ });
});
- }))
+
+ using (var server = new TestServer(builder))
{
var client = server.CreateClient();
var response = await client.GetAsync("/page?ui-culture=ar-SA");
@@ -173,30 +189,33 @@ namespace Microsoft.Extensions.Localization.Tests
[Fact]
public async void GetSameCultureInfoIfUICultureKeyIsMissing()
{
- using (var server = TestServer.Create(app =>
- {
- var options = new RequestLocalizationOptions()
+ var builder = new WebApplicationBuilder()
+ .Configure(app =>
{
- DefaultRequestCulture = new RequestCulture("en-US"),
- SupportedCultures = new List
+ var options = new RequestLocalizationOptions()
{
- new CultureInfo("ar-SA")
- },
- SupportedUICultures = new List
+ DefaultRequestCulture = new RequestCulture("en-US"),
+ SupportedCultures = new List
+ {
+ new CultureInfo("ar-SA")
+ },
+ SupportedUICultures = new List
+ {
+ new CultureInfo("ar-SA")
+ }
+ };
+ app.UseRequestLocalization(options);
+ app.Run(context =>
{
- new CultureInfo("ar-SA")
- }
- };
- app.UseRequestLocalization(options);
- app.Run(context =>
- {
- var requestCultureFeature = context.Features.Get();
- var requestCulture = requestCultureFeature.RequestCulture;
- Assert.Equal("ar-SA", requestCulture.Culture.Name);
- Assert.Equal("ar-SA", requestCulture.UICulture.Name);
- return Task.FromResult(0);
+ var requestCultureFeature = context.Features.Get();
+ var requestCulture = requestCultureFeature.RequestCulture;
+ Assert.Equal("ar-SA", requestCulture.Culture.Name);
+ Assert.Equal("ar-SA", requestCulture.UICulture.Name);
+ return Task.FromResult(0);
+ });
});
- }))
+
+ using (var server = new TestServer(builder))
{
var client = server.CreateClient();
var response = await client.GetAsync("/page?culture=ar-SA");
@@ -206,71 +225,77 @@ namespace Microsoft.Extensions.Localization.Tests
[Fact]
public async void GetCultureInfoFromQueryStringWithCustomKeys()
{
- using (var server = TestServer.Create(app =>
- {
- var options = new RequestLocalizationOptions()
+ var builder = new WebApplicationBuilder()
+ .Configure(app =>
{
- DefaultRequestCulture = new RequestCulture("en-US"),
- SupportedCultures = new List
+ var options = new RequestLocalizationOptions()
{
- new CultureInfo("ar-SA")
- },
- SupportedUICultures = new List
+ DefaultRequestCulture = new RequestCulture("en-US"),
+ SupportedCultures = new List
+ {
+ new CultureInfo("ar-SA")
+ },
+ SupportedUICultures = new List
+ {
+ new CultureInfo("ar-YE")
+ }
+ };
+ var provider = new QueryStringRequestCultureProvider();
+ provider.QueryStringKey = "c";
+ provider.UIQueryStringKey = "uic";
+ options.RequestCultureProviders.Insert(0, provider);
+ app.UseRequestLocalization(options);
+ app.Run(context =>
{
- new CultureInfo("ar-YE")
- }
- };
- var provider = new QueryStringRequestCultureProvider();
- provider.QueryStringKey = "c";
- provider.UIQueryStringKey = "uic";
- options.RequestCultureProviders.Insert(0, provider);
- app.UseRequestLocalization(options);
- app.Run(context =>
- {
- var requestCultureFeature = context.Features.Get();
- var requestCulture = requestCultureFeature.RequestCulture;
- Assert.Equal("ar-SA", requestCulture.Culture.Name);
- Assert.Equal("ar-YE", requestCulture.UICulture.Name);
- return Task.FromResult(0);
+ var requestCultureFeature = context.Features.Get();
+ var requestCulture = requestCultureFeature.RequestCulture;
+ Assert.Equal("ar-SA", requestCulture.Culture.Name);
+ Assert.Equal("ar-YE", requestCulture.UICulture.Name);
+ return Task.FromResult(0);
+ });
});
- }))
+
+ using (var server = new TestServer(builder))
{
var client = server.CreateClient();
var response = await client.GetAsync("/page?c=ar-SA&uic=ar-YE");
}
}
-
+
[Fact]
public async void GetTheRightCultureInfoRegardlessOfCultureNameCasing()
{
- using (var server = TestServer.Create(app =>
- {
- var options = new RequestLocalizationOptions()
+ var builder = new WebApplicationBuilder()
+ .Configure(app =>
{
- DefaultRequestCulture = new RequestCulture("en-US"),
- SupportedCultures = new List
+ var options = new RequestLocalizationOptions()
{
- new CultureInfo("FR")
- },
- SupportedUICultures = new List
+ DefaultRequestCulture = new RequestCulture("en-US"),
+ SupportedCultures = new List
+ {
+ new CultureInfo("FR")
+ },
+ SupportedUICultures = new List
+ {
+ new CultureInfo("FR")
+ }
+ };
+ var provider = new QueryStringRequestCultureProvider();
+ provider.QueryStringKey = "c";
+ provider.UIQueryStringKey = "uic";
+ options.RequestCultureProviders.Insert(0, provider);
+ app.UseRequestLocalization(options);
+ app.Run(context =>
{
- new CultureInfo("FR")
- }
- };
- var provider = new QueryStringRequestCultureProvider();
- provider.QueryStringKey = "c";
- provider.UIQueryStringKey = "uic";
- options.RequestCultureProviders.Insert(0, provider);
- app.UseRequestLocalization(options);
- app.Run(context =>
- {
- var requestCultureFeature = context.Features.Get();
- var requestCulture = requestCultureFeature.RequestCulture;
- Assert.Equal("fr", requestCulture.Culture.ToString());
- Assert.Equal("fr", requestCulture.UICulture.ToString());
- return Task.FromResult(0);
+ var requestCultureFeature = context.Features.Get();
+ var requestCulture = requestCultureFeature.RequestCulture;
+ Assert.Equal("fr", requestCulture.Culture.ToString());
+ Assert.Equal("fr", requestCulture.UICulture.ToString());
+ return Task.FromResult(0);
+ });
});
- }))
+
+ using (var server = new TestServer(builder))
{
var client = server.CreateClient();
var response = await client.GetAsync("/page?c=FR&uic=FR");