Beispiel #1
0
        public void It_Should_Parse_A_Custom_Tag()
        {
            // Act
            var templateContext = new TemplateContext().WithAllFilters().WithCustomTagRenderer <EchoArgsTagRenderer>("echoargs");
            var result          = RenderingHelper.RenderTemplate("Result : {% echoargs \"hello\" 123 true %}", templateContext);

            // Assert
            Assert.That(result, Is.EqualTo("Result : I heard string:hello, numeric:123, bool:true"));
        }
Beispiel #2
0
        public void It_Should_Resolve_A_Variable()
        {
            // Act
            var templateContext = new TemplateContext().WithAllFilters().WithCustomTagRenderer <EchoArgsTagRenderer>("echoargs");
            var result          = RenderingHelper.RenderTemplate("{% assign planet = \"world\"%}Result : {% echoargs \"hello\" planet %}", templateContext);

            // Assert
            Assert.That(result, Is.EqualTo("Result : I heard string:hello, string:world"));
        }
Beispiel #3
0
        public void It_Should_Return_An_Int_When_Dividing_IntLike_Strings()
        {
            // Arrange
            var result = RenderingHelper.RenderTemplate("Result : {{ 10 | divided_by: 4 }}");

            // Assert
            //Assert.That(result, Is.EqualTo("Result : 2.5"));
            Assert.That(result, Is.EqualTo("Result : 2"));
        }
Beispiel #4
0
        public void It_Should_Cast_Strings()
        {
            // Arrange
            var result = RenderingHelper.RenderTemplate("Result : {{ \"10\" | divided_by: \"4\" }}");

            // Assert
            //Assert.That(result, Is.EqualTo("Result : 2.5"));
            Assert.That(result, Is.EqualTo("Result : 2"));
        }
        public void It_Should_Parse_A_Custom_BlockTag_With_Nested_Liquid()
        {
            // Act
            var templateContext = new TemplateContext().WithAllFilters().WithCustomTagBlockRenderer <WordReverserBlockTag>("echoargs");
            var result          = RenderingHelper.RenderTemplate("Result : {% echoargs \"hello\" 123 true %}{% if true %}IT IS TRUE{% endif %}{% endechoargs %}", templateContext);

            // Assert
            Assert.Equal("Result : TI SI EURT", result);
        }
        public void It_Should_Parse_Very_Nested_Tags()
        {
            // Act
            var templateContext = new TemplateContext().WithAllFilters().WithCustomTagBlockRenderer <WordReverserBlockTag>("reverse");
            var result          = RenderingHelper.RenderTemplate("Result : {% reverse %}{% if true %}TRUE{% endif %}{% reverse %}DEF{% reverse %}ABC{% endreverse %}{% endreverse %}{% endreverse %}", templateContext);

            // Assert
            Assert.Equal("Result : DEFCBAEURT", result);
        }
Beispiel #7
0
        public void It_Should_Find_The_Ceil_Value(String input, int expected)
        {
            // Act
            //var result = LiquidHtmlFilters.ToInt(input);
            var result = RenderingHelper.RenderTemplate("Result : {{ " + input + " | ceil }}");

            // Assert
            Assert.That(result, Is.EqualTo("Result : " + expected));
        }
        public void It_Should_Cast_Nil_To_0_In_A_Filter_Arg() // integration
        {
            // Act

            var result = RenderingHelper.RenderTemplate("{% assign x = nil %}Result : {{ 3 | plus: x }}");

            // Assert
            Assert.That(result, Is.EqualTo("Result : 3"));
        }
Beispiel #9
0
        public void It_Should_Round_To_Int_When_No_Arg()
        {
            // Act
            //var result = LiquidHtmlFilters.ToInt(input);
            var result = RenderingHelper.RenderTemplate("Result : {{ 12.5 | round }}");

            // Assert
            Assert.That(result, Is.EqualTo("Result : 13"));
        }
Beispiel #10
0
        public void It_Should_Round_To_Nearest_Decimal_Number(String input, int digits, String expected)
        {
            // Act
            //var result = LiquidHtmlFilters.ToInt(input);
            var result = RenderingHelper.RenderTemplate("Result : {{ " + input + " | round : " + digits + " }}");

            // Assert
            Assert.That(result, Is.EqualTo("Result : " + expected));
        }
Beispiel #11
0
        public void It_Should_Round_To_Nearest_Whole_Number_Away_From_Zero(String input, int expected)
        {
            // Act
            //var result = LiquidHtmlFilters.ToInt(input);
            var result = RenderingHelper.RenderTemplate("Result : {{ " + input + " | round }}");

            // Assert
            Assert.That(result, Is.EqualTo("Result : " + expected));
        }
        public void It_Should_Strip_Obscure_Newlines()
        {
            // Act
            var result = RenderingHelper.RenderTemplate("Result : {{ \"1\u000A2\u000B3\u000C4\u000D5\u20286\u20297\u00858\" | strip_newlines }}");

            // Assert
            //Assert.Equal("Result : 1 2 3 4 5 6 7 8", result);
            Assert.Equal("Result : 12345678", result);
        }
        public void It_Should_Render_Nested_Raw_Text()
        {
            // Arrange
            var    raw    = "This is {% raw %} nested raw {% endraw %}";
            String result = RenderingHelper.RenderTemplate("Result : {% raw %}" + raw + "{% endraw %}");

            // Assert
            Assert.Equal("Result : " + raw, result);
        }
        public void It_Should_Replace_Obscure_Newlines()
        {
            // Act
            var result = RenderingHelper.RenderTemplate("Result : {{ \"1\u000A2\u000B3\u000C4\u000D5\u20286\u20297\u00858\" | newline_to_br }}");

            // Assert
            const string br = NewlineToBrFilter.BR;

            Assert.Equal("Result : 1" + br + "2" + br + "3" + br + "4" + br + "5" + br + "6" + br + "7" + br + "8", result);
        }
        public void It_Should_Strip_Html()
        {
            // Arrange
            const string s = "{{ \"<h1>Hello</h1> World\" | strip_html }}";
            // Act
            var result = RenderingHelper.RenderTemplate(s);

            // Assert
            Assert.That(result, Is.EqualTo("Hello World"));
        }
Beispiel #16
0
        public void It_Should_Use_Something_Other_Than_Ellipses()
        {
            // Arrange
            var result = RenderingHelper.RenderTemplate("Result : {{ 'I thought he was a goner' | truncate:12, '!!!' }}");

            // Act

            // Assert
            Assert.That(result, Is.EqualTo("Result : I thought!!!"));
        }
Beispiel #17
0
        public void It_Should_Truncate_Strings(String original, int length, String expected)
        {
            // Arrange
            var result = RenderingHelper.RenderTemplate("Result : {{ '" + original + "' | truncate: " + length + " }}");

            // Act

            // Assert
            Assert.That(result, Is.EqualTo("Result : " + expected));
        }
        public void It_Should_Replace_Newlines_From_A_String()
        {
            // Act
            var result = RenderingHelper.RenderTemplate("Result : {{ \"IT\r\n\r\nShould\r\n\rStrip\rNewlines\n\" | newline_to_br }}");

            // Assert
            const string br = NewlineToBrFilter.BR;

            Assert.Equal("Result : IT" + br + br + "Should" + br + br + "Strip" + br + "Newlines" + br, result);
        }
Beispiel #19
0
        public void It_Should_Skip_Part_Of_A_Loop()
        {
            // Arrange
            var tmpl = GetForLoop("{% continue %}");

            // Act
            var result = RenderingHelper.RenderTemplate(tmpl);

            // Assert
            Assert.Equal("Result : loop1loop2looploop", result);
        }
Beispiel #20
0
        public void It_Should_Break_Out_Of_A_Loop()
        {
            // Arrange
            var tmpl = GetForLoop("{% break %}");

            // Act
            var result = RenderingHelper.RenderTemplate(tmpl);

            // Assert
            Assert.Equal("Result : loop1loop2loop", result);
        }
Beispiel #21
0
        public void It_Should_Truncate_By_Word()
        {
            // Arrange
            const String tmpl = @"{{ ""The cat came back the very next day"" | truncatewords: 4 }}";

            // Act
            var result = RenderingHelper.RenderTemplate(tmpl);

            // Assert
            Assert.That(result, Is.EqualTo("The cat came back..."));
        }
Beispiel #22
0
        public void It_Should_Have_A_Default()
        {
            // Arrange
            const String tmpl = @"{{ ""The"" | truncatewords }}";

            // Act
            var result = RenderingHelper.RenderTemplate(tmpl);

            // Assert
            Assert.That(result, Is.EqualTo("The"));
        }
Beispiel #23
0
        public void It_Should_Not_Add_Ellipses_With_Fewer_Words()
        {
            // Arrange
            const String tmpl = @"{{ ""The"" | truncatewords: 4 }}";

            // Act
            var result = RenderingHelper.RenderTemplate(tmpl);

            // Assert
            Assert.That(result, Is.EqualTo("The"));
        }
Beispiel #24
0
        public void It_Should_Add_Something_Other_Than_Ellipses()
        {
            // Arrange
            const String tmpl = @"{{ ""The cat came back the very next day"" | truncatewords: 4, ""!!!"" }}";

            // Act
            var result = RenderingHelper.RenderTemplate(tmpl);

            // Assert
            Assert.That(result, Is.EqualTo("The cat came back!!!"));
        }
Beispiel #25
0
        public void It_Should_Slice_Nil()
        {
            // Arrange
            var ctx = new TemplateContext().WithAllFilters();
            //ctx.DefineLocalVariable("array", CreateArray());
            // Act
            var result = RenderingHelper.RenderTemplate("Result : {{ novar | slice }}", ctx);

            // Assert
            Assert.That(result, Is.StringContaining("Result : "));
        }
        public void It_Should_Return_Default_If_Null()
        {
            // Arrange
            TemplateContext ctx = new TemplateContext();

            // Act
            var result = RenderingHelper.RenderTemplate("Result : {{ mydate | default: \"Hello\" }}", ctx);

            // Assert
            Assert.Equal("Result : Hello", result);
        }
        public void It_Should_Return_Default_If_Array_Is_Null()
        {
            // Arrange
            TemplateContext ctx = new TemplateContext();

            // Act
            var result = RenderingHelper.RenderTemplate("Result : {{ arr | default: \"DEFAULT\" }}", ctx);

            // Assert
            Assert.Equal("Result : DEFAULT", result);
        }
        public void It_Should_Remove_Tags_And_Filters()
        {
            // Arrange
            const string tmpl = "Result : {% comment %} test {{ item }} test  {% if done %}test {% endcomment %}";

            Logger.Log(tmpl);
            String result = RenderingHelper.RenderTemplate(tmpl);

            // Assert
            Assert.That(result, Is.EqualTo("Result : "));
        }
        public void It_Should_Remove_The_Commented_Text()
        {
            // Arrange
            const string tmpl = "Result : {% comment %} This is a comment {% endcomment %}";

            Logger.Log(tmpl);
            String result = RenderingHelper.RenderTemplate(tmpl);

            // Assert
            Assert.That(result, Is.EqualTo("Result : "));
        }
        public void It_Should_Not_Return_Default_If_Array_Has_Elements()
        {
            // Arrange
            TemplateContext ctx = new TemplateContext();

            // Act
            var result = RenderingHelper.RenderTemplate("Result : {% assign arr=\"1|2\" | split: \"|\"%}{{ arr | default: \"DEFAULT\" }}", ctx);

            // Assert
            Assert.Equal("Result : 12", result);
        }