示例#1
0
        public void ShouldReportAndErrorOnEmptyTags()
        {
            var parser = new CustomParser();

            parser.RegisterEmptyTag("hello", (w, e, c) =>
            {
                w.Write("Hello World");

                return(Statement.Normal());
            });

            Assert.Throws <ParseException>(() => parser.Parse("{% hello foo %}"));
        }
示例#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);
        }
示例#3
0
        public void ShouldRenderEmptyTags()
        {
            var parser = new CustomParser();

            parser.RegisterEmptyTag("hello", (w, e, c) =>
            {
                w.Write("Hello World");

                return(Statement.Normal());
            });

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

            Assert.Equal("Hello World", result);
        }
示例#4
0
        public void ShouldRenderIdentifierBlocks()
        {
            var parser = new CustomParser();

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

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

            Assert.Equal("Hello test hi", result);
        }
示例#5
0
        public void ShouldRenderIdentifierTags()
        {
            var parser = new CustomParser();

            parser.RegisterIdentifierTag("hello", (s, w, e, c) =>
            {
                w.Write("Hello ");
                w.Write(s);

                return(Statement.Normal());
            });

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

            Assert.Equal("Hello test", result);
        }