Esempio n. 1
0
        public void ItDoesntParseUnregisteredHelpers()
        {
            var parser  = new InstanceMustacheParser();
            var helpers = new Helpers()
                          .Register("MyHelper", ctx => "Foo");
            var pipeline = BuildHelperPipeline(helpers);

            var tokens = parser.Parse("{{MyHelper2}}", pipeline: pipeline);

            Assert.Single(tokens.Children);
            Assert.IsType <InterpolationToken>(tokens.Children[0]);
        }
Esempio n. 2
0
        public void ItParsesHelpersWithArgument()
        {
            var parser  = new InstanceMustacheParser();
            var helpers = new Helpers()
                          .Register <int>("MyHelper", (ctx, arg) => "Foo");
            var pipeline = BuildHelperPipeline(helpers);

            var tokens = parser.Parse("{{MyHelper MyArgument}}", pipeline: pipeline);

            Assert.Single(tokens.Children);
            var helperToken = Assert.IsType <HelperToken>(tokens.Children[0]);

            Assert.Equal("MyHelper", helperToken.Name.ToString());
            Assert.Equal("MyArgument", helperToken.Args[0].Value);
            Assert.True(helperToken.Args[0].ShouldAttemptContextLoad);
        }
Esempio n. 3
0
        public void ItShouldBeAbleToParseStaticParameters()
        {
            var parser  = new InstanceMustacheParser();
            var helpers = new Helpers()
                          .Register <int, int>("MyHelper", (ctx, arg1, arg2) => "Foo");
            var pipeline = BuildHelperPipeline(helpers);

            var tokens = parser.Parse("{{MyHelper 10 MyArgument2}}", pipeline: pipeline);

            Assert.Single(tokens.Children);
            var helperToken = Assert.IsType <HelperToken>(tokens.Children[0]);

            Assert.Equal("MyHelper", helperToken.Name.ToString());
            Assert.Equal("10", helperToken.Args[0].Value);
            Assert.True(helperToken.Args[0].ShouldAttemptContextLoad);
            Assert.Equal("MyArgument2", helperToken.Args[1].Value);
            Assert.True(helperToken.Args[1].ShouldAttemptContextLoad);
        }
Esempio n. 4
0
        public void ItShouldBeAbleToParseStaticParametersWithQuotesAndSpaces(object value)
        {
            var argument      = (string)value;
            var argumentValue = argument
                                .Replace("\"", string.Empty)
                                .Replace("\'", string.Empty);

            var parser  = new InstanceMustacheParser();
            var helpers = new Helpers()
                          .Register <string>("MyHelper", (ctx, arg) => "Foo");
            var pipeline = BuildHelperPipeline(helpers);

            var tokens = parser.Parse($"{{{{MyHelper {argument}}}}}", pipeline: pipeline);

            Assert.Single(tokens.Children);
            var helperToken = Assert.IsType <HelperToken>(tokens.Children[0]);

            Assert.Equal("MyHelper", helperToken.Name.ToString());
            Assert.Equal(argumentValue, helperToken.Args[0].Value);
            Assert.False(helperToken.Args[0].ShouldAttemptContextLoad);
        }