コード例 #1
0
        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);
        }
コード例 #2
0
        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");
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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");
        }
コード例 #5
0
        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");
        }
コード例 #6
0
        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);
        }