From db4cc145224f4415f3e1de03d9b993b96ef90888 Mon Sep 17 00:00:00 2001 From: hishamco Date: Wed, 24 Jan 2018 00:22:19 +0300 Subject: [PATCH] Add functional test --- .../LocalizationWebsite/StartupBuilderAPIs.cs | 42 +++++++++++++++++++ .../LocalizationTest.cs | 9 ++++ 2 files changed, 51 insertions(+) create mode 100644 test/LocalizationWebsite/StartupBuilderAPIs.cs diff --git a/test/LocalizationWebsite/StartupBuilderAPIs.cs b/test/LocalizationWebsite/StartupBuilderAPIs.cs new file mode 100644 index 0000000000..4dd4ec41e3 --- /dev/null +++ b/test/LocalizationWebsite/StartupBuilderAPIs.cs @@ -0,0 +1,42 @@ +// 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. + +using LocalizationWebsite.Models; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Localization; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Localization; +using Microsoft.Extensions.Logging; + +namespace LocalizationWebsite +{ + public class StartupBuilderAPIs + { + public void ConfigureServices(IServiceCollection services) + { + services.AddLocalization(options => options.ResourcesPath = "Resources"); + } + + public void Configure( + IApplicationBuilder app, + ILoggerFactory loggerFactory, + IStringLocalizer customerStringLocalizer) + { + var supportedCultures = new[] { "en-US", "fr-FR" }; + app.UseRequestLocalization(options => + options + .AddSupportedCultures(supportedCultures) + .AddSupportedUICultures(supportedCultures) + .SetDefaultCulture("ar-YE") + ); + + app.Run(async (context) => + { + var requestCultureFeature = context.Features.Get(); + var requestCulture = requestCultureFeature.RequestCulture; + await context.Response.WriteAsync(customerStringLocalizer["Hello"]); + }); + } + } +} diff --git a/test/Microsoft.AspNetCore.Localization.FunctionalTests/LocalizationTest.cs b/test/Microsoft.AspNetCore.Localization.FunctionalTests/LocalizationTest.cs index f0a0a94228..5f09115be2 100644 --- a/test/Microsoft.AspNetCore.Localization.FunctionalTests/LocalizationTest.cs +++ b/test/Microsoft.AspNetCore.Localization.FunctionalTests/LocalizationTest.cs @@ -77,6 +77,15 @@ namespace Microsoft.AspNetCore.Localization.FunctionalTests "Bonjour from StartupResourcesAtRootFolder Bonjour from Test in root folder Bonjour from Customer in Models folder"); } + [Fact] + public Task Localization_BuilderAPIs() + { + return RunTest( + typeof(StartupBuilderAPIs), + "ar-YE", + "Hello"); + } + private async Task RunTest(Type startupType, string culture, string expected) { var webHostBuilder = new WebHostBuilder().UseStartup(startupType);