diff --git a/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Integration.Tests/Fixtures/Binding/ViewFieldsBindingFixture.cs b/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Integration.Tests/Fixtures/Binding/ViewFieldsBindingFixture.cs
index 8f8f7ef..532c7fe 100644
--- a/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Integration.Tests/Fixtures/Binding/ViewFieldsBindingFixture.cs
+++ b/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Integration.Tests/Fixtures/Binding/ViewFieldsBindingFixture.cs
@@ -1,4 +1,5 @@
-using System.Net;
+using System.Globalization;
+using System.Net;
using FluentAssertions;
using HtmlAgilityPack;
using Microsoft.AspNetCore.TestHost;
@@ -75,7 +76,8 @@ public async Task SitecoreLayoutModelBinders_BindDataCorrectly()
sectionNode.ChildNodes.First(n => n.Name.Equals("p", StringComparison.OrdinalIgnoreCase)).InnerText
.Should().BeEmpty();
- sectionNode.ChildNodes.First(n => n.Name.Equals("textarea", StringComparison.OrdinalIgnoreCase)).InnerText.Should().Contain("12/12/2019");
+ DateTime expectedDate = DateTime.Parse("12.12.19", CultureInfo.InvariantCulture);
+ sectionNode.ChildNodes.First(n => n.Name.Equals("textarea", StringComparison.OrdinalIgnoreCase)).InnerText.Should().Contain(expectedDate.ToString("MM/dd/yyyy", CultureInfo.CurrentCulture));
sectionNode.ChildNodes.First(n => n.Name.Equals("span", StringComparison.OrdinalIgnoreCase)).InnerHtml
.Should().Be(TestConstants.TestMultilineFieldValue.Replace(Environment.NewLine, "
", StringComparison.OrdinalIgnoreCase));
diff --git a/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Integration.Tests/Fixtures/TagHelpers/AllFieldTagHelpersFixture.cs b/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Integration.Tests/Fixtures/TagHelpers/AllFieldTagHelpersFixture.cs
index bf853cb..7152897 100644
--- a/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Integration.Tests/Fixtures/TagHelpers/AllFieldTagHelpersFixture.cs
+++ b/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Integration.Tests/Fixtures/TagHelpers/AllFieldTagHelpersFixture.cs
@@ -82,7 +82,7 @@ public async Task ComponentWithAllFieldTypes_RendersFieldsCorrectly()
sectionNode.ChildNodes.First(n => n.Name.Equals("div", StringComparison.OrdinalIgnoreCase) && n.Id.Equals("div5", StringComparison.OrdinalIgnoreCase)).InnerHtml
.Should().Be(TestConstants.AllFieldsImageValue);
sectionNode.ChildNodes.First(n => n.Name.Equals("div", StringComparison.OrdinalIgnoreCase) && n.Id.Equals("div6", StringComparison.OrdinalIgnoreCase)).InnerHtml
- .Should().Be(TestConstants.DateFieldValue);
+ .Should().Be(TestConstants.DateTimeValue.ToString("MM/dd/yyyy", CultureInfo.CurrentCulture));
sectionNode.ChildNodes.First(n => n.Name.Equals("div", StringComparison.OrdinalIgnoreCase) && n.Id.Equals("div7", StringComparison.OrdinalIgnoreCase)).InnerHtml
.Should().Be(TestConstants.MediaLibraryItemImageFieldValue);
sectionNode.ChildNodes.First(n => n.Name.Equals("div", StringComparison.OrdinalIgnoreCase) && n.Id.Equals("div8", StringComparison.OrdinalIgnoreCase)).InnerHtml
diff --git a/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Integration.Tests/Fixtures/TagHelpers/DateFieldTagHelperFixture.cs b/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Integration.Tests/Fixtures/TagHelpers/DateFieldTagHelperFixture.cs
index 60f4aa3..c6ec161 100644
--- a/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Integration.Tests/Fixtures/TagHelpers/DateFieldTagHelperFixture.cs
+++ b/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Integration.Tests/Fixtures/TagHelpers/DateFieldTagHelperFixture.cs
@@ -93,8 +93,8 @@ public async Task DateTagHelper_GeneratesProperDate()
HtmlNode? sectionNode = doc.DocumentNode.ChildNodes.First(n => n.HasClass("component-with-dates"));
// Assert
- sectionNode.ChildNodes[1].InnerHtml.Should().Be("05/04/2012");
- sectionNode.ChildNodes[3].InnerHtml.Should().Be("05/04/2012 00:00:00");
+ sectionNode.ChildNodes[1].InnerHtml.Should().Be(TestConstants.DateTimeValue.ToString("MM/dd/yyyy", CultureInfo.CurrentCulture));
+ sectionNode.ChildNodes[3].InnerHtml.Should().Be(TestConstants.DateTimeValue.ToString("MM/dd/yyyy HH:mm:ss", CultureInfo.CurrentCulture));
sectionNode.ChildNodes[5].InnerHtml.Should().Be(TestConstants.DateTimeValue.ToString(CultureInfo.CurrentCulture));
sectionNode.ChildNodes[9].InnerHtml.Should().Contain("04.05.2012");
}
diff --git a/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Integration.Tests/Fixtures/TagHelpers/RichTextFieldTagHelperFixture.cs b/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Integration.Tests/Fixtures/TagHelpers/RichTextFieldTagHelperFixture.cs
index 23e1ef2..b6ff80f 100644
--- a/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Integration.Tests/Fixtures/TagHelpers/RichTextFieldTagHelperFixture.cs
+++ b/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Integration.Tests/Fixtures/TagHelpers/RichTextFieldTagHelperFixture.cs
@@ -1,4 +1,5 @@
-using System.Net;
+using System.Globalization;
+using System.Net;
using System.Text.Encodings.Web;
using FluentAssertions;
using HtmlAgilityPack;
@@ -70,7 +71,8 @@ public async Task RichTextFieldTagHelper_DoesNotResetOtherTagHelperOutput()
// Assert
// check scenario that RichTextTagHelper does not reset values of another helpers.
- sectionNode.ChildNodes.First(n => n.Name.Equals("textarea", StringComparison.OrdinalIgnoreCase)).InnerText.Should().Contain("12/12/2019");
+ DateTime expectedDate = DateTime.Parse("12.12.19", CultureInfo.InvariantCulture);
+ sectionNode.ChildNodes.First(n => n.Name.Equals("textarea", StringComparison.OrdinalIgnoreCase)).InnerText.Should().Contain(expectedDate.ToString("MM/dd/yyyy", CultureInfo.CurrentCulture));
}
[Fact]
diff --git a/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Tests/TagHelpers/Fields/DateTagHelperFixture.cs b/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Tests/TagHelpers/Fields/DateTagHelperFixture.cs
index 1ba472b..0515b21 100644
--- a/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Tests/TagHelpers/Fields/DateTagHelperFixture.cs
+++ b/tests/Sitecore.AspNetCore.SDK.RenderingEngine.Tests/TagHelpers/Fields/DateTagHelperFixture.cs
@@ -123,23 +123,46 @@ public void Process_ScDateTagWithEmptyValueInForAttribute_GeneratesEmptyOutput(
}
[Theory]
- [AutoNSubstituteData]
- public void Process_ScDateTagWithCustomFormat_GeneratesCustomDateFormatOutput(
- DateTagHelper sut,
- TagHelperContext tagHelperContext,
- TagHelperOutput tagHelperOutput)
+ [InlineData("en-US")]
+ [InlineData("da-DK")]
+ [InlineData("uk-UA")]
+ public void Process_ScDateTagWithCustomFormat_GeneratesCustomDateFormatOutput(string cultureName)
{
// Arrange
- const string dateFormat = "MM/dd/yyyy H:mm";
- tagHelperOutput.TagName = RenderingEngineConstants.SitecoreTagHelpers.DateHtmlTag;
- sut.DateFormat = dateFormat;
- sut.For = GetModelExpression(new DateField(_date));
+ CultureInfo originalCulture = CultureInfo.CurrentCulture;
+ CultureInfo originalUiCulture = CultureInfo.CurrentUICulture;
+ CultureInfo testCulture = new CultureInfo(cultureName);
- // Act
- sut.Process(tagHelperContext, tagHelperOutput);
-
- // Assert
- tagHelperOutput.Content.GetContent().Should().Be(_date.ToString(dateFormat, CultureInfo.InvariantCulture));
+ try
+ {
+ CultureInfo.CurrentCulture = testCulture;
+ CultureInfo.CurrentUICulture = testCulture;
+
+ const string dateFormat = "MM/dd/yyyy H:mm";
+ DateTagHelper sut = new DateTagHelper(new EditableChromeRenderer());
+ TagHelperContext tagHelperContext = new TagHelperContext([], new Dictionary