diff --git a/samples/LocalizationSample/Startup.cs b/samples/LocalizationSample/Startup.cs index b7bc89cc85..e82efb12b5 100644 --- a/samples/LocalizationSample/Startup.cs +++ b/samples/LocalizationSample/Startup.cs @@ -7,7 +7,6 @@ using System.Globalization; using Microsoft.AspNet.Builder; using Microsoft.AspNet.Hosting; using Microsoft.AspNet.Http; -using Microsoft.AspNet.Http.Features; using Microsoft.AspNet.Localization; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Localization; @@ -23,12 +22,12 @@ namespace LocalizationSample public void Configure(IApplicationBuilder app, IStringLocalizer SR) { - app.UseRequestLocalization(options => + app.UseRequestLocalization(new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("en-US"); + DefaultRequestCulture = new RequestCulture("en-US"), // Set options here to change middleware behavior - options.SupportedCultures = new List + SupportedCultures = new List { new CultureInfo("en-US"), new CultureInfo("en-AU"), @@ -39,8 +38,8 @@ namespace LocalizationSample new CultureInfo("zh"), new CultureInfo("zh-CN"), new CultureInfo("zh-CHT") - }; - options.SupportedUICultures = new List + }, + SupportedUICultures = new List { new CultureInfo("en-US"), new CultureInfo("en-AU"), @@ -51,14 +50,14 @@ namespace LocalizationSample new CultureInfo("zh"), new CultureInfo("zh-CN"), new CultureInfo("zh-CHT") - }; + } // Optionally create an app-specific provider with just a delegate, e.g. look up user preference from DB. // Inserting it as position 0 ensures it has priority over any of the default providers. - //options.RequestCultureProviders.Insert(0, new CustomRequestCultureProvider(async context => + //RequestCultureProviders.Insert(0, new CustomRequestCultureProvider(async context => //{ - //})); + //})) }); app.Use(async (context, next) => diff --git a/src/Microsoft.AspNet.Localization/ApplicationBuilderExtensions.cs b/src/Microsoft.AspNet.Localization/ApplicationBuilderExtensions.cs index e0608c1017..006629f4c1 100644 --- a/src/Microsoft.AspNet.Localization/ApplicationBuilderExtensions.cs +++ b/src/Microsoft.AspNet.Localization/ApplicationBuilderExtensions.cs @@ -2,8 +2,8 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; -using System.Globalization; using Microsoft.AspNet.Localization; +using Microsoft.Extensions.Options; namespace Microsoft.AspNet.Builder { @@ -17,25 +17,15 @@ namespace Microsoft.AspNet.Builder /// requests based on information provided by the client. /// /// The . - /// An action delegate to configure the provided . /// The . - public static IApplicationBuilder UseRequestLocalization( - this IApplicationBuilder app, - Action configureOptions) + public static IApplicationBuilder UseRequestLocalization(this IApplicationBuilder app) { if (app == null) { throw new ArgumentNullException(nameof(app)); } - if (configureOptions == null) - { - throw new ArgumentNullException(nameof(configureOptions)); - } - var options = new RequestLocalizationOptions(); - configureOptions(options); - - return app.UseMiddleware(options); + return app.UseMiddleware(); } /// @@ -58,7 +48,7 @@ namespace Microsoft.AspNet.Builder throw new ArgumentNullException(nameof(options)); } - return app.UseMiddleware(options); + return app.UseMiddleware(Options.Create(options)); } } } \ No newline at end of file diff --git a/src/Microsoft.AspNet.Localization/RequestCultureProvider.cs b/src/Microsoft.AspNet.Localization/RequestCultureProvider.cs index 8b0189dea4..bee7030962 100644 --- a/src/Microsoft.AspNet.Localization/RequestCultureProvider.cs +++ b/src/Microsoft.AspNet.Localization/RequestCultureProvider.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Threading.Tasks; +using Microsoft.AspNet.Builder; using Microsoft.AspNet.Http; namespace Microsoft.AspNet.Localization diff --git a/src/Microsoft.AspNet.Localization/RequestLocalizationMiddleware.cs b/src/Microsoft.AspNet.Localization/RequestLocalizationMiddleware.cs index fc946671b0..d1974d3e07 100644 --- a/src/Microsoft.AspNet.Localization/RequestLocalizationMiddleware.cs +++ b/src/Microsoft.AspNet.Localization/RequestLocalizationMiddleware.cs @@ -6,9 +6,10 @@ using System.Collections.Generic; using System.Globalization; using System.Threading; using System.Threading.Tasks; +using Microsoft.AspNet.Builder; using Microsoft.AspNet.Http; -using Microsoft.AspNet.Http.Features; using Microsoft.Extensions.Globalization; +using Microsoft.Extensions.Options; namespace Microsoft.AspNet.Localization { @@ -29,7 +30,7 @@ namespace Microsoft.AspNet.Localization /// The representing the next middleware in the pipeline. /// The representing the options for the /// . - public RequestLocalizationMiddleware(RequestDelegate next, RequestLocalizationOptions options) + public RequestLocalizationMiddleware(RequestDelegate next, IOptions options) { if (next == null) { @@ -42,7 +43,7 @@ namespace Microsoft.AspNet.Localization } _next = next; - _options = options; + _options = options.Value; } /// diff --git a/src/Microsoft.AspNet.Localization/RequestLocalizationOptions.cs b/src/Microsoft.AspNet.Localization/RequestLocalizationOptions.cs index 0707efa2f1..b0c8e09e38 100644 --- a/src/Microsoft.AspNet.Localization/RequestLocalizationOptions.cs +++ b/src/Microsoft.AspNet.Localization/RequestLocalizationOptions.cs @@ -4,8 +4,9 @@ using System; using System.Collections.Generic; using System.Globalization; +using Microsoft.AspNet.Localization; -namespace Microsoft.AspNet.Localization +namespace Microsoft.AspNet.Builder { /// /// Specifies options for the . diff --git a/src/Microsoft.AspNet.Localization/project.json b/src/Microsoft.AspNet.Localization/project.json index 93e57fa72b..7ab836217f 100644 --- a/src/Microsoft.AspNet.Localization/project.json +++ b/src/Microsoft.AspNet.Localization/project.json @@ -12,7 +12,8 @@ "dependencies": { "Microsoft.AspNet.Http.Extensions": "1.0.0-*", "Microsoft.Extensions.Globalization.CultureInfoCache": "1.0.0-*", - "Microsoft.Extensions.Localization.Abstractions": "1.0.0-*" + "Microsoft.Extensions.Localization.Abstractions": "1.0.0-*", + "Microsoft.Extensions.Options": "1.0.0-*" }, "frameworks": { "net451": {}, diff --git a/src/Microsoft.Extensions.Localization/LocalizationServiceCollectionExtensions.cs b/src/Microsoft.Extensions.Localization/LocalizationServiceCollectionExtensions.cs index 25e619293d..eb37df32e9 100644 --- a/src/Microsoft.Extensions.Localization/LocalizationServiceCollectionExtensions.cs +++ b/src/Microsoft.Extensions.Localization/LocalizationServiceCollectionExtensions.cs @@ -55,7 +55,6 @@ namespace Microsoft.Extensions.DependencyInjection { services.Configure(setupAction); } - services.AddOptions(); return services; } } diff --git a/test/LocalizationWebsite/StartupResourcesAtRootFolder.cs b/test/LocalizationWebsite/StartupResourcesAtRootFolder.cs index d9135615a0..f70bdfa046 100644 --- a/test/LocalizationWebsite/StartupResourcesAtRootFolder.cs +++ b/test/LocalizationWebsite/StartupResourcesAtRootFolder.cs @@ -29,17 +29,17 @@ namespace LocalizationWebsite { loggerFactory.AddConsole(minLevel: LogLevel.Warning); - app.UseRequestLocalization(options => + app.UseRequestLocalization(new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("en-US"); - options.SupportedCultures = new List() + DefaultRequestCulture = new RequestCulture("en-US"), + SupportedCultures = new List() { new CultureInfo("fr-FR") - }; - options.SupportedUICultures = new List() + }, + SupportedUICultures = new List() { new CultureInfo("fr-FR") - }; + } }); var stringLocalizer = stringLocalizerFactory.Create("Test", location: null); diff --git a/test/LocalizationWebsite/StartupResourcesInFolder.cs b/test/LocalizationWebsite/StartupResourcesInFolder.cs index b880b643b7..8adc46894b 100644 --- a/test/LocalizationWebsite/StartupResourcesInFolder.cs +++ b/test/LocalizationWebsite/StartupResourcesInFolder.cs @@ -29,17 +29,17 @@ namespace LocalizationWebsite { loggerFactory.AddConsole(minLevel: LogLevel.Warning); - app.UseRequestLocalization(options => + app.UseRequestLocalization(new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("en-US"); - options.SupportedCultures = new List() + DefaultRequestCulture = new RequestCulture("en-US"), + SupportedCultures = new List() { new CultureInfo("fr-FR") - }; - options.SupportedUICultures = new List() + }, + SupportedUICultures = new List() { new CultureInfo("fr-FR") - }; + } }); var stringLocalizer = stringLocalizerFactory.Create("Test", location: null); diff --git a/test/Microsoft.AspNet.Localization.Tests/AcceptLanguageHeaderRequestCultureProviderTest.cs b/test/Microsoft.AspNet.Localization.Tests/AcceptLanguageHeaderRequestCultureProviderTest.cs index 92cd7f37ef..e5d9f3436c 100644 --- a/test/Microsoft.AspNet.Localization.Tests/AcceptLanguageHeaderRequestCultureProviderTest.cs +++ b/test/Microsoft.AspNet.Localization.Tests/AcceptLanguageHeaderRequestCultureProviderTest.cs @@ -6,7 +6,6 @@ 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; using Xunit; @@ -21,14 +20,14 @@ namespace Microsoft.Extensions.Localization.Tests var builder = new WebApplicationBuilder() .Configure(app => { - app.UseRequestLocalization(options => + app.UseRequestLocalization(new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("en-US"); - options.SupportedCultures = new List + DefaultRequestCulture = new RequestCulture("en-US"), + SupportedCultures = new List { new CultureInfo("ar-SA"), new CultureInfo("en-US") - }; + } }); app.Run(context => { @@ -55,14 +54,14 @@ namespace Microsoft.Extensions.Localization.Tests var builder = new WebApplicationBuilder() .Configure(app => { - app.UseRequestLocalization(options => + app.UseRequestLocalization(new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("fr-FR"); - options.SupportedCultures = new List + DefaultRequestCulture = new RequestCulture("fr-FR"), + SupportedCultures = new List { new CultureInfo("ar-SA"), new CultureInfo("en-US") - }; + } }); app.Run(context => { @@ -88,14 +87,14 @@ namespace Microsoft.Extensions.Localization.Tests var builder = new WebApplicationBuilder() .Configure(app => { - app.UseRequestLocalization(options => + app.UseRequestLocalization(new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("fr-FR"); - options.SupportedCultures = new List + DefaultRequestCulture = new RequestCulture("fr-FR"), + SupportedCultures = new List { new CultureInfo("ar-SA"), new CultureInfo("af-ZA") - }; + } }); app.Run(context => { @@ -122,17 +121,17 @@ namespace Microsoft.Extensions.Localization.Tests var builder = new WebApplicationBuilder() .Configure(app => { - app.UseRequestLocalization(options => + app.UseRequestLocalization(new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("en-US"); - options.SupportedCultures = new List + DefaultRequestCulture = new RequestCulture("en-US"), + SupportedCultures = new List { new CultureInfo("ar-YE") - }; - options.SupportedUICultures = new List + }, + SupportedUICultures = new List { new CultureInfo("ar-YE") - }; + } }); app.Run(context => { diff --git a/test/Microsoft.AspNet.Localization.Tests/CookieRequestCultureProviderTest.cs b/test/Microsoft.AspNet.Localization.Tests/CookieRequestCultureProviderTest.cs index d4e043e6ed..a15120af88 100644 --- a/test/Microsoft.AspNet.Localization.Tests/CookieRequestCultureProviderTest.cs +++ b/test/Microsoft.AspNet.Localization.Tests/CookieRequestCultureProviderTest.cs @@ -22,21 +22,23 @@ namespace Microsoft.Extensions.Localization.Tests var builder = new WebApplicationBuilder() .Configure(app => { - app.UseRequestLocalization(options => + var options = new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("en-US"); - options.SupportedCultures = new List + DefaultRequestCulture = new RequestCulture("en-US"), + SupportedCultures = new List { new CultureInfo("ar-SA") - }; - options.SupportedUICultures = new List + }, + SupportedUICultures = new List { new CultureInfo("ar-SA") - }; - var provider = new CookieRequestCultureProvider(); - provider.CookieName = "Preferences"; - options.RequestCultureProviders.Insert(0, provider); - }); + } + }; + var provider = new CookieRequestCultureProvider(); + provider.CookieName = "Preferences"; + options.RequestCultureProviders.Insert(0, provider); + + app.UseRequestLocalization(options); app.Run(context => { var requestCultureFeature = context.Features.Get(); @@ -64,21 +66,22 @@ namespace Microsoft.Extensions.Localization.Tests var builder = new WebApplicationBuilder() .Configure(app => { - app.UseRequestLocalization(options => + var options = new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("en-US"); - options.SupportedCultures = new List + DefaultRequestCulture = new RequestCulture("en-US"), + SupportedCultures = new List { new CultureInfo("ar-SA") - }; - options.SupportedUICultures = new List + }, + SupportedUICultures = new List { new CultureInfo("ar-SA") - }; - var provider = new CookieRequestCultureProvider(); - provider.CookieName = "Preferences"; - options.RequestCultureProviders.Insert(0, provider); - }); + } + }; + var provider = new CookieRequestCultureProvider(); + provider.CookieName = "Preferences"; + options.RequestCultureProviders.Insert(0, provider); + app.UseRequestLocalization(options); app.Run(context => { var requestCultureFeature = context.Features.Get(); @@ -102,21 +105,22 @@ namespace Microsoft.Extensions.Localization.Tests var builder = new WebApplicationBuilder() .Configure(app => { - app.UseRequestLocalization(options => + var options = new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("en-US"); - options.SupportedCultures = new List + DefaultRequestCulture = new RequestCulture("en-US"), + SupportedCultures = new List { new CultureInfo("ar-SA") - }; - options.SupportedUICultures = new List + }, + SupportedUICultures = new List { new CultureInfo("ar-SA") - }; - var provider = new CookieRequestCultureProvider(); - provider.CookieName = "Preferences"; - options.RequestCultureProviders.Insert(0, provider); - }); + } + }; + var provider = new CookieRequestCultureProvider(); + provider.CookieName = "Preferences"; + options.RequestCultureProviders.Insert(0, provider); + app.UseRequestLocalization(options); app.Run(context => { var requestCultureFeature = context.Features.Get(); diff --git a/test/Microsoft.AspNet.Localization.Tests/CustomRequestCultureProviderTest.cs b/test/Microsoft.AspNet.Localization.Tests/CustomRequestCultureProviderTest.cs index 8beec941c1..e09ea9c158 100644 --- a/test/Microsoft.AspNet.Localization.Tests/CustomRequestCultureProviderTest.cs +++ b/test/Microsoft.AspNet.Localization.Tests/CustomRequestCultureProviderTest.cs @@ -23,24 +23,25 @@ namespace Microsoft.Extensions.Localization.Tests var builder = new WebApplicationBuilder() .Configure(app => { - app.UseRequestLocalization(options => + var options = new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("en-US"); - options.SupportedCultures = new List + DefaultRequestCulture = new RequestCulture("en-US"), + SupportedCultures = new List { new CultureInfo("ar") - }; - options.SupportedUICultures = new List + }, + SupportedUICultures = new List { 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); - })); - }); + } + }; + 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(); diff --git a/test/Microsoft.AspNet.Localization.Tests/QueryStringRequestCultureProviderTest.cs b/test/Microsoft.AspNet.Localization.Tests/QueryStringRequestCultureProviderTest.cs index 1573f33bd6..d1898fff49 100644 --- a/test/Microsoft.AspNet.Localization.Tests/QueryStringRequestCultureProviderTest.cs +++ b/test/Microsoft.AspNet.Localization.Tests/QueryStringRequestCultureProviderTest.cs @@ -21,17 +21,17 @@ namespace Microsoft.Extensions.Localization.Tests var builder = new WebApplicationBuilder() .Configure(app => { - app.UseRequestLocalization(options => + app.UseRequestLocalization(new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("en-US"); - options.SupportedCultures = new List + DefaultRequestCulture = new RequestCulture("en-US"), + SupportedCultures = new List { new CultureInfo("ar-SA") - }; - options.SupportedUICultures = new List + }, + SupportedUICultures = new List { new CultureInfo("ar-YE") - }; + } }); app.Run(context => { @@ -56,9 +56,9 @@ namespace Microsoft.Extensions.Localization.Tests var builder = new WebApplicationBuilder() .Configure(app => { - app.UseRequestLocalization(options => + app.UseRequestLocalization(new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("en-US"); + DefaultRequestCulture = new RequestCulture("en-US") }); app.Run(context => { @@ -83,17 +83,17 @@ namespace Microsoft.Extensions.Localization.Tests var builder = new WebApplicationBuilder() .Configure(app => { - app.UseRequestLocalization(options => + app.UseRequestLocalization(new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("en-US"); - options.SupportedCultures = new List + DefaultRequestCulture = new RequestCulture("en-US"), + SupportedCultures = new List { new CultureInfo("ar-SA") - }; - options.SupportedUICultures = new List + }, + SupportedUICultures = new List { new CultureInfo("ar-SA") - }; + } }); app.Run(context => { @@ -117,17 +117,17 @@ namespace Microsoft.Extensions.Localization.Tests var builder = new WebApplicationBuilder() .Configure(app => { - app.UseRequestLocalization(options => + app.UseRequestLocalization(new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("en-US"); - options.SupportedCultures = new List + DefaultRequestCulture = new RequestCulture("en-US"), + SupportedCultures = new List { new CultureInfo("ar-SA") - }; - options.SupportedUICultures = new List + }, + SupportedUICultures = new List { new CultureInfo("ar-SA") - }; + } }); app.Run(context => { @@ -151,17 +151,17 @@ namespace Microsoft.Extensions.Localization.Tests var builder = new WebApplicationBuilder() .Configure(app => { - app.UseRequestLocalization(options => + app.UseRequestLocalization(new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("en-US"); - options.SupportedCultures = new List + DefaultRequestCulture = new RequestCulture("en-US"), + SupportedCultures = new List { new CultureInfo("ar-SA") - }; - options.SupportedUICultures = new List + }, + SupportedUICultures = new List { new CultureInfo("ar-SA") - }; + } }); app.Run(context => { @@ -186,17 +186,17 @@ namespace Microsoft.Extensions.Localization.Tests var builder = new WebApplicationBuilder() .Configure(app => { - app.UseRequestLocalization(options => + app.UseRequestLocalization(new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("en-US"); - options.SupportedCultures = new List + DefaultRequestCulture = new RequestCulture("en-US"), + SupportedCultures = new List { new CultureInfo("ar-SA") - }; - options.SupportedUICultures = new List + }, + SupportedUICultures = new List { new CultureInfo("ar-SA") - }; + } }); app.Run(context => { @@ -221,22 +221,23 @@ namespace Microsoft.Extensions.Localization.Tests var builder = new WebApplicationBuilder() .Configure(app => { - app.UseRequestLocalization(options => + var options = new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("en-US"); - options.SupportedCultures = new List + DefaultRequestCulture = new RequestCulture("en-US"), + SupportedCultures = new List { new CultureInfo("ar-SA") - }; - options.SupportedUICultures = new List + }, + SupportedUICultures = new List { new CultureInfo("ar-YE") - }; - var provider = new QueryStringRequestCultureProvider(); - provider.QueryStringKey = "c"; - provider.UIQueryStringKey = "uic"; - options.RequestCultureProviders.Insert(0, provider); - }); + } + }; + 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(); @@ -260,22 +261,23 @@ namespace Microsoft.Extensions.Localization.Tests var builder = new WebApplicationBuilder() .Configure(app => { - app.UseRequestLocalization(options => + var options = new RequestLocalizationOptions { - options.DefaultRequestCulture = new RequestCulture("en-US"); - options.SupportedCultures = new List + DefaultRequestCulture = new RequestCulture("en-US"), + SupportedCultures = new List { new CultureInfo("FR") - }; - options.SupportedUICultures = new List + }, + SupportedUICultures = new List { new CultureInfo("FR") - }; - var provider = new QueryStringRequestCultureProvider(); - provider.QueryStringKey = "c"; - provider.UIQueryStringKey = "uic"; - options.RequestCultureProviders.Insert(0, provider); - }); + } + }; + 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(); diff --git a/test/Microsoft.AspNet.Localization.Tests/RequestLocalizationOptionsTest.cs b/test/Microsoft.AspNet.Localization.Tests/RequestLocalizationOptionsTest.cs index 85fb33a2e2..9b31c90839 100644 --- a/test/Microsoft.AspNet.Localization.Tests/RequestLocalizationOptionsTest.cs +++ b/test/Microsoft.AspNet.Localization.Tests/RequestLocalizationOptionsTest.cs @@ -4,6 +4,7 @@ using System; using System.Globalization; using System.Threading; +using Microsoft.AspNet.Builder; using Xunit; namespace Microsoft.AspNet.Localization.Tests diff --git a/test/Microsoft.Extensions.Localization.Tests/LocalizationServiceCollectionExtensionsTest.cs b/test/Microsoft.Extensions.Localization.Tests/LocalizationServiceCollectionExtensionsTest.cs index 2a905571a7..804c8971b5 100644 --- a/test/Microsoft.Extensions.Localization.Tests/LocalizationServiceCollectionExtensionsTest.cs +++ b/test/Microsoft.Extensions.Localization.Tests/LocalizationServiceCollectionExtensionsTest.cs @@ -21,7 +21,7 @@ namespace Microsoft.Extensions.Localization.Test // Assert var services = collection.ToList(); - Assert.Equal(4, services.Count); + Assert.Equal(2, services.Count); Assert.Equal(typeof(IStringLocalizerFactory), services[0].ServiceType); Assert.Equal(typeof(ResourceManagerStringLocalizerFactory), services[0].ImplementationType); @@ -30,12 +30,6 @@ namespace Microsoft.Extensions.Localization.Test Assert.Equal(typeof(IStringLocalizer<>), services[1].ServiceType); Assert.Equal(typeof(StringLocalizer<>), services[1].ImplementationType); Assert.Equal(ServiceLifetime.Transient, services[1].Lifetime); - - Assert.Equal(typeof(IOptions<>), services[2].ServiceType); - Assert.Equal(ServiceLifetime.Singleton, services[2].Lifetime); - - Assert.Equal(typeof(IOptionsMonitor<>), services[3].ServiceType); - Assert.Equal(ServiceLifetime.Singleton, services[3].Lifetime); } [Fact] @@ -49,7 +43,7 @@ namespace Microsoft.Extensions.Localization.Test // Assert var services = collection.ToList(); - Assert.Equal(5, services.Count); + Assert.Equal(3, services.Count); Assert.Equal(typeof(IStringLocalizerFactory), services[0].ServiceType); Assert.Equal(typeof(ResourceManagerStringLocalizerFactory), services[0].ImplementationType); @@ -61,12 +55,6 @@ namespace Microsoft.Extensions.Localization.Test Assert.Equal(typeof(IConfigureOptions), services[2].ServiceType); Assert.Equal(ServiceLifetime.Singleton, services[2].Lifetime); - - Assert.Equal(typeof(IOptions<>), services[3].ServiceType); - Assert.Equal(ServiceLifetime.Singleton, services[3].Lifetime); - - Assert.Equal(typeof(IOptionsMonitor<>), services[4].ServiceType); - Assert.Equal(ServiceLifetime.Singleton, services[4].Lifetime); } } }