예제 #1
0
        public void CustomBlockShouldReturnErrorMessage()
        {
            var parser = new CustomParser();

            parser.RegisterEmptyBlock("hello", static (s, w, e, c) =>
            {
                w.Write("Hello World");
                return(s.RenderStatementsAsync(w, e, c));
            });

            parser.TryParse("{% hello %} hi {%- endhello %} {% endhello %}", out var template, out var error);

            Assert.Null(template);
            Assert.Contains("Unexpected tag 'endhello'", error);
        }
예제 #2
0
        public void ShouldRenderEmptyBlocks()
        {
            var parser = new CustomParser();

            parser.RegisterEmptyBlock("hello", static (s, w, e, c) =>
            {
                w.Write("Hello World");
                return(s.RenderStatementsAsync(w, e, c));
            });

            var template = parser.Parse("{% hello %} hi {%- endhello %}");
            var result   = template.Render();

            Assert.Equal("Hello World hi", result);
        }