public void WHEN_ValueContains_XHTML_SHOULD_use_SafeString_to_render_XHTML_asis(string categoryName, string keyName, string expectedResult) { //Arrange var localizationProvider = LocalizationProviderFactory.CreateFromTestAssets(); var helpers = new LocalizeFormatHelper(localizationProvider); Handlebars.RegisterHelper(helpers.HelperName, helpers.HelperFunction); var template = Handlebars.Compile("{{localizeFormat CategoryName KeyName}}"); //Act var result = template.Invoke(new { CategoryName = categoryName, KeyName = keyName }); //Assert result.Should().BeEquivalentTo(expectedResult); }
public void WHEN_Localized_Value_Is_Not_Found_SHOULD_Render_Formatted_Key_Hint() { //Arrange var localizationProvider = LocalizationProviderFactory.CreateKnowsNothing(); var helpers = new LocalizeFormatHelper(localizationProvider.Object); Handlebars.RegisterHelper(helpers.HelperName, helpers.HelperFunction); string categoryName = GetRandom.String(32); string keyName = GetRandom.String(32); var template = Handlebars.Compile("{{localizeFormat CategoryName KeyName}}"); //Act var result = template.Invoke(new { CategoryName = categoryName, KeyName = keyName }); result.Should().Be(string.Format("[{0}.{1}]", categoryName, keyName), "Because this is the formatted value hint"); }
public void WHEN_Value_Contains_10_Options_SHOULD_replace_with_argument( string localizedValue, object arg0, object arg1, object arg2, object arg3, object arg4, object arg5, object arg6, object arg7, object arg8, object arg9, string expectedResult) { var localizationProvider = new Mock <ILocalizationProvider>(MockBehavior.Strict); localizationProvider .Setup(lp => lp.GetLocalizedString(It.IsNotNull <GetLocalizedParam>())) .Returns(localizedValue) .Verifiable(); //Arrange var helpers = new LocalizeFormatHelper(localizationProvider.Object); Handlebars.RegisterHelper(helpers.HelperName, helpers.HelperFunction); var template = Handlebars.Compile("{{localizeFormat 'UseMock' 'UseMock' Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Arg6 Arg7 Arg8 Arg9}}"); //Act var result = template.Invoke(new { Arg0 = arg0, Arg1 = arg1, Arg2 = arg2, Arg3 = arg3, Arg4 = arg4, Arg5 = arg5, Arg6 = arg6, Arg7 = arg7, Arg8 = arg8, Arg9 = arg9 }); //Assert result.Should().BeEquivalentTo(expectedResult); }
public void WHEN_Using_The_Helper_The_Culture_From_The_UIThread_SHOULD_Be_Used(string expectedCultureName) { //Arrange var localizationProvider = LocalizationProviderFactory.CreateKnowsItAll(); var helpers = new LocalizeFormatHelper(localizationProvider.Object); Handlebars.RegisterHelper(helpers.HelperName, helpers.HelperFunction); string categoryName = GetRandom.String(32); string keyName = GetRandom.String(32); var template = Handlebars.Compile("{{localizeFormat CategoryName KeyName}}"); //Act Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(expectedCultureName); var result = template.Invoke(new { CategoryName = categoryName, KeyName = keyName }); //Assert result.Should().Be(string.Format("{0}:{1}.{2}", expectedCultureName, categoryName, keyName), "Because no better solution was available at this time"); }
public void WHEN_Localized_Value_Is_Found_SHOULD_Render_LocalizedValue() { //Arrange var localizationProvider = LocalizationProviderFactory.CreateKnowsItAll(); var helpers = new LocalizeFormatHelper(localizationProvider.Object); Handlebars.RegisterHelper(helpers.HelperName, helpers.HelperFunction); string cultureName = "en-CA"; string categoryName = GetRandom.String(32); string keyName = GetRandom.String(32); var template = Handlebars.Compile("{{localizeFormat CategoryName KeyName}}"); //Act Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(cultureName); var result = template.Invoke(new { CategoryName = categoryName, KeyName = keyName }); result.Should().Be(string.Format("{0}:{1}.{2}", cultureName, categoryName, keyName), "Because this is the mocked value"); }
public void WHEN_Called_With_Variables_SHOULD_Render_Same_As_With_Literals() { //Arrange var localizationProvider = LocalizationProviderFactory.CreateKnowsItAll(); var helpers = new LocalizeFormatHelper(localizationProvider.Object); Handlebars.RegisterHelper(helpers.HelperName, helpers.HelperFunction); string categoryName = GetRandom.String(32); string keyName = GetRandom.String(32); var templateVariables = Handlebars.Compile("{{localizeFormat CategoryName KeyName}}"); var templateLiteral = Handlebars.Compile("{{localizeFormat '" + categoryName + "' '" + keyName + "'}}"); //Act var resultFromVariables = templateVariables.Invoke(new { CategoryName = categoryName, KeyName = keyName }); var resultFromLiteral = templateLiteral.Invoke(null); //Assert resultFromVariables.Should().BeEquivalentTo(resultFromLiteral); }