Skip to content

Commit b3467ef

Browse files
committed
[add] invariant language test
[r] language field name to constant
1 parent 9a5cef7 commit b3467ef

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

src/Simplify.Web.Tests/Modules/LanguageManagerTests.cs

+13
Original file line numberDiff line numberDiff line change
@@ -193,4 +193,17 @@ public void Constructor_NoHeaderLanguage_DefaultLanguageSet()
193193
// Assert
194194
Assert.AreEqual("en", _languageManager.Language);
195195
}
196+
197+
[Test]
198+
public void Constructor_BadDefaultLanguage_InvariantLanguageSet()
199+
{
200+
// Arrange
201+
_settings.SetupGet(x => x.DefaultLanguage).Returns("badlanguage");
202+
203+
// Act
204+
_languageManager = new LanguageManager(_settings.Object, _context.Object);
205+
206+
// Assert
207+
Assert.AreEqual("iv", _languageManager.Language);
208+
}
196209
}

src/Simplify.Web/Modules/LanguageManager.cs

+7-2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ public class LanguageManager : ILanguageManager
1616
/// </summary>
1717
public const string CookieLanguageFieldName = "language";
1818

19+
/// <summary>
20+
/// Language field name in request header
21+
/// </summary>
22+
public const string HeaderLanguageFieldName = "Accept-Language";
23+
1924
private readonly IResponseCookies _responseCookies;
2025

2126
/// <summary>
@@ -32,7 +37,7 @@ public LanguageManager(ISimplifyWebSettings settings, HttpContext context)
3237

3338
if (!settings.AcceptHeaderLanguage || (settings.AcceptHeaderLanguage && !TrySetLanguageFromRequestHeader(context)))
3439
if (!SetCurrentLanguage(settings.DefaultLanguage))
35-
Language = "iv";
40+
SetCurrentLanguage("iv");
3641
}
3742

3843
/// <summary>
@@ -87,7 +92,7 @@ private bool TrySetLanguageFromCookie(HttpContext context)
8792

8893
private bool TrySetLanguageFromRequestHeader(HttpContext context)
8994
{
90-
var languages = context.Request.Headers["Accept-Language"];
95+
var languages = context.Request.Headers[HeaderLanguageFieldName];
9196

9297
if (languages.Count == 0)
9398
return false;

0 commit comments

Comments
 (0)