Skip to content

Commit

Permalink
[add] invariant language test
Browse files Browse the repository at this point in the history
[r] language field name to constant
  • Loading branch information
i4004 committed Dec 20, 2023
1 parent 9a5cef7 commit b3467ef
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 2 deletions.
13 changes: 13 additions & 0 deletions src/Simplify.Web.Tests/Modules/LanguageManagerTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -193,4 +193,17 @@ public void Constructor_NoHeaderLanguage_DefaultLanguageSet()
// Assert
Assert.AreEqual("en", _languageManager.Language);
}

[Test]
public void Constructor_BadDefaultLanguage_InvariantLanguageSet()
{
// Arrange
_settings.SetupGet(x => x.DefaultLanguage).Returns("badlanguage");

// Act
_languageManager = new LanguageManager(_settings.Object, _context.Object);

// Assert
Assert.AreEqual("iv", _languageManager.Language);
}
}
9 changes: 7 additions & 2 deletions src/Simplify.Web/Modules/LanguageManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@ public class LanguageManager : ILanguageManager
/// </summary>
public const string CookieLanguageFieldName = "language";

/// <summary>
/// Language field name in request header
/// </summary>
public const string HeaderLanguageFieldName = "Accept-Language";

private readonly IResponseCookies _responseCookies;

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

if (!settings.AcceptHeaderLanguage || (settings.AcceptHeaderLanguage && !TrySetLanguageFromRequestHeader(context)))
if (!SetCurrentLanguage(settings.DefaultLanguage))
Language = "iv";
SetCurrentLanguage("iv");
}

/// <summary>
Expand Down Expand Up @@ -87,7 +92,7 @@ private bool TrySetLanguageFromCookie(HttpContext context)

private bool TrySetLanguageFromRequestHeader(HttpContext context)
{
var languages = context.Request.Headers["Accept-Language"];
var languages = context.Request.Headers[HeaderLanguageFieldName];

if (languages.Count == 0)
return false;
Expand Down

0 comments on commit b3467ef

Please sign in to comment.