Skip to content

Commit 4ba159a

Browse files
committed
Removed Moq from tests & enabled .NET Core
- Introduced AssemblyWrapper to enable testing - Cleaned up properties on ResourceManagerStringLocalizer - #15 Change "Strategy" to "Provider" - #19
1 parent 9384848 commit 4ba159a

17 files changed

+166
-143
lines changed

samples/LocalizationSample/Startup.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ public void Configure(IApplicationBuilder app, IStringLocalizer<Startup> SR)
3636
//}
3737
};
3838

39-
// Optionally create an app-specific strategy with just a delegate, e.g. look up user preference from DB.
40-
// Inserting it as position 0 ensures it has priority over any of the default strategies.
41-
//options.RequestCultureStrategies.Insert(0, new CustomRequestCultureStrategy(async context =>
39+
// Optionally create an app-specific provider with just a delegate, e.g. look up user preference from DB.
40+
// Inserting it as position 0 ensures it has priority over any of the default providers.
41+
//options.RequestCultureProviders.Insert(0, new CustomRequestCultureProvider(async context =>
4242
//{
4343

4444
//}));
@@ -74,13 +74,13 @@ await context.Response.WriteAsync(
7474
function useCookie() {{
7575
var culture = document.getElementById('culture');
7676
var uiCulture = document.getElementById('uiCulture');
77-
var cookieValue = '{CookieRequestCultureStrategy.DefaultCookieName}=c='+culture.options[culture.selectedIndex].value+'|uic='+uiCulture.options[uiCulture.selectedIndex].value;
77+
var cookieValue = '{CookieRequestCultureProvider.DefaultCookieName}=c='+culture.options[culture.selectedIndex].value+'|uic='+uiCulture.options[uiCulture.selectedIndex].value;
7878
document.cookie = cookieValue;
7979
window.location = window.location.href.split('?')[0];
8080
}}
8181
8282
function clearCookie() {{
83-
document.cookie='{CookieRequestCultureStrategy.DefaultCookieName}=""""';
83+
document.cookie='{CookieRequestCultureProvider.DefaultCookieName}=""""';
8484
}}
8585
</script>
8686
</head>
@@ -101,7 +101,7 @@ function clearCookie() {{
101101
await context.Response.WriteAsync("</form>");
102102
await context.Response.WriteAsync("<br />");
103103
await context.Response.WriteAsync("<table><tbody>");
104-
await context.Response.WriteAsync($"<tr><th>Winning strategy:</th><td>{requestCultureFeature.Strategy.GetType().Name}</td></tr>");
104+
await context.Response.WriteAsync($"<tr><th>Winning provider:</th><td>{requestCultureFeature.Provider.GetType().Name}</td></tr>");
105105
await context.Response.WriteAsync($"<tr><th>{SR["Current request culture:"]}</th><td>{requestCulture.Culture.DisplayName} ({requestCulture.Culture})</td></tr>");
106106
await context.Response.WriteAsync($"<tr><th>{SR["Current request UI culture:"]}</th><td>{requestCulture.UICulture.DisplayName} ({requestCulture.UICulture})</td></tr>");
107107
await context.Response.WriteAsync($"<tr><th>{SR["Current thread culture:"]}</th><td>{CultureInfo.CurrentCulture.DisplayName} ({CultureInfo.CurrentCulture})</td></tr>");

src/Microsoft.AspNet.Localization/AcceptLanguageHeaderRequestCultureStrategy.cs renamed to src/Microsoft.AspNet.Localization/AcceptLanguageHeaderRequestCultureProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ namespace Microsoft.AspNet.Localization
1313
/// <summary>
1414
/// Determines the culture information for a request via the value of the Accept-Language header.
1515
/// </summary>
16-
public class AcceptLanguageHeaderRequestCultureStrategy : RequestCultureStrategy
16+
public class AcceptLanguageHeaderRequestCultureProvider : RequestCultureProvider
1717
{
1818
/// <summary>
1919
/// The maximum number of values in the Accept-Language header to attempt to create a <see cref="System.Globalization.CultureInfo"/>

src/Microsoft.AspNet.Localization/CookieRequestCultureStrategy.cs renamed to src/Microsoft.AspNet.Localization/CookieRequestCultureProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace Microsoft.AspNet.Localization
1212
/// <summary>
1313
/// Determines the culture information for a request via the value of a cookie.
1414
/// </summary>
15-
public class CookieRequestCultureStrategy : RequestCultureStrategy
15+
public class CookieRequestCultureProvider : RequestCultureProvider
1616
{
1717
private static readonly char[] _cookieSeparator = new[] { '|' };
1818
private static readonly string _culturePrefix = "c=";

src/Microsoft.AspNet.Localization/CustomRequestCultureStrategy.cs renamed to src/Microsoft.AspNet.Localization/CustomRequestCultureProvider.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,23 @@ namespace Microsoft.AspNet.Localization
1111
/// <summary>
1212
/// Determines the culture information for a request via the configured delegate.
1313
/// </summary>
14-
public class CustomRequestCultureStrategy : RequestCultureStrategy
14+
public class CustomRequestCultureProvider : RequestCultureProvider
1515
{
16-
private readonly Func<HttpContext, Task<RequestCulture>> _strategy;
16+
private readonly Func<HttpContext, Task<RequestCulture>> _provider;
1717

1818
/// <summary>
19-
/// Creates a new <see cref="CustomRequestCultureStrategy"/> using the specified delegate.
19+
/// Creates a new <see cref="CustomRequestCultureProvider"/> using the specified delegate.
2020
/// </summary>
21-
/// <param name="strategy">The strategy delegate.</param>
22-
public CustomRequestCultureStrategy([NotNull] Func<HttpContext, Task<RequestCulture>> strategy)
21+
/// <param name="provider">The provider delegate.</param>
22+
public CustomRequestCultureProvider([NotNull] Func<HttpContext, Task<RequestCulture>> provider)
2323
{
24-
_strategy = strategy;
24+
_provider = provider;
2525
}
2626

2727
/// <inheritdoc />
2828
public override Task<RequestCulture> DetermineRequestCulture([NotNull] HttpContext httpContext)
2929
{
30-
return _strategy(httpContext);
30+
return _provider(httpContext);
3131
}
3232
}
3333
}

src/Microsoft.AspNet.Localization/IRequestCultureFeature.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ public interface IRequestCultureFeature
1414
RequestCulture RequestCulture { get; }
1515

1616
/// <summary>
17-
/// The <see cref="IRequestCultureStrategy"/> that determined the request's culture information.
18-
/// If the value is <c>null</c> then no strategy was used and the request's culture was set to the value of
17+
/// The <see cref="IRequestCultureProvider"/> that determined the request's culture information.
18+
/// If the value is <c>null</c> then no provider was used and the request's culture was set to the value of
1919
/// <see cref="RequestLocalizationOptions.DefaultRequestCulture"/>.
2020
/// </summary>
21-
IRequestCultureStrategy Strategy { get; }
21+
IRequestCultureProvider Provider { get; }
2222
}
2323
}

src/Microsoft.AspNet.Localization/IRequestCultureStrategy.cs renamed to src/Microsoft.AspNet.Localization/IRequestCultureProvider.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@
77
namespace Microsoft.AspNet.Localization
88
{
99
/// <summary>
10-
/// Represents a strategy for determining the culture information of an <see cref="HttpRequest"/>.
10+
/// Represents a provider for determining the culture information of an <see cref="HttpRequest"/>.
1111
/// </summary>
12-
public interface IRequestCultureStrategy
12+
public interface IRequestCultureProvider
1313
{
1414
/// <summary>
15-
/// Implements the strategy to determine the culture of the given request.
15+
/// Implements the provider to determine the culture of the given request.
1616
/// </summary>
1717
/// <param name="httpContext">The <see cref="HttpContext"/> for the request.</param>
1818
/// <returns>
1919
/// The determined <see cref="RequestCulture"/>.
20-
/// Returns <c>null</c> if the strategy couldn't determine a <see cref="RequestCulture"/>.
20+
/// Returns <c>null</c> if the provider couldn't determine a <see cref="RequestCulture"/>.
2121
/// </returns>
2222
Task<RequestCulture> DetermineRequestCulture(HttpContext httpContext);
2323
}

src/Microsoft.AspNet.Localization/QueryStringRequestCultureStrategy.cs renamed to src/Microsoft.AspNet.Localization/QueryStringRequestCultureProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ namespace Microsoft.AspNet.Localization
1111
/// <summary>
1212
/// Determines the culture information for a request via values in the query string.
1313
/// </summary>
14-
public class QueryStringRequestCultureStrategy : RequestCultureStrategy
14+
public class QueryStringRequestCultureProvider : RequestCultureProvider
1515
{
1616
/// <summary>
1717
/// The key that contains the culture name.

src/Microsoft.AspNet.Localization/RequestCultureFeature.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@ public class RequestCultureFeature : IRequestCultureFeature
1414
/// Creates a new <see cref="RequestCultureFeature"/> with the specified <see cref="Localization.RequestCulture"/>.
1515
/// </summary>
1616
/// <param name="requestCulture">The <see cref="Localization.RequestCulture"/>.</param>
17-
public RequestCultureFeature([NotNull] RequestCulture requestCulture, IRequestCultureStrategy strategy)
17+
public RequestCultureFeature([NotNull] RequestCulture requestCulture, IRequestCultureProvider provider)
1818
{
1919
RequestCulture = requestCulture;
20-
Strategy = strategy;
20+
Provider = provider;
2121
}
2222

2323
/// <inheritdoc />
2424
public RequestCulture RequestCulture { get; }
2525

2626
/// <inheritdoc />
27-
public IRequestCultureStrategy Strategy { get; }
27+
public IRequestCultureProvider Provider { get; }
2828
}
2929
}

src/Microsoft.AspNet.Localization/RequestCultureStrategy.cs renamed to src/Microsoft.AspNet.Localization/RequestCultureProvider.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,13 @@
33

44
using System.Threading.Tasks;
55
using Microsoft.AspNet.Http;
6-
using Microsoft.Framework.Internal;
76

87
namespace Microsoft.AspNet.Localization
98
{
109
/// <summary>
11-
/// An abstract base class strategy for determining the culture information of an <see cref="HttpRequest"/>.
10+
/// An abstract base class provider for determining the culture information of an <see cref="HttpRequest"/>.
1211
/// </summary>
13-
public abstract class RequestCultureStrategy : IRequestCultureStrategy
12+
public abstract class RequestCultureProvider : IRequestCultureProvider
1413
{
1514
/// <summary>
1615
/// The current options for the <see cref="RequestLocalizationMiddleware"/>.

src/Microsoft.AspNet.Localization/RequestLocalizationMiddleware.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,23 +40,23 @@ public async Task Invoke([NotNull] HttpContext context)
4040
var requestCulture = _options.DefaultRequestCulture ??
4141
new RequestCulture(CultureInfo.CurrentCulture, CultureInfo.CurrentUICulture);
4242

43-
IRequestCultureStrategy winningStrategy = null;
43+
IRequestCultureProvider winningProvider = null;
4444

45-
if (_options.RequestCultureStrategies != null)
45+
if (_options.RequestCultureProviders != null)
4646
{
47-
foreach (var strategy in _options.RequestCultureStrategies)
47+
foreach (var provider in _options.RequestCultureProviders)
4848
{
49-
var result = await strategy.DetermineRequestCulture(context);
49+
var result = await provider.DetermineRequestCulture(context);
5050
if (result != null)
5151
{
5252
requestCulture = result;
53-
winningStrategy = strategy;
53+
winningProvider = provider;
5454
break;
5555
}
5656
}
5757
}
5858

59-
context.SetFeature<IRequestCultureFeature>(new RequestCultureFeature(requestCulture, winningStrategy));
59+
context.SetFeature<IRequestCultureFeature>(new RequestCultureFeature(requestCulture, winningProvider));
6060

6161
SetCurrentThreadCulture(requestCulture);
6262

0 commit comments

Comments
 (0)