public void ElseTrue() { TemplateEngine engine = new TemplateEngine(); RootTemplate templateItem = engine.BuildTemplate("#if(true) indeed #else no #end"); EvaluationContext context = new EvaluationContext(new Dictionary<string, object>() { }, null); string result = templateItem.Evaluate(context); Assert.AreEqual(" indeed ", result); }
public void ComplexConditions() { TemplateEngine engine = new TemplateEngine(); RootTemplate templateItem = engine.BuildTemplate(@" #if(false) #elseif(false) #elseif(true) #if(false) #elseif(false) faky #elseif(true) #if(false) #elseif(false) #elseif(true) #if(false) #else indeed #end #elseif(false) #else #end #elseif(false) test #else #end #elseif(false) #else some #end"); EvaluationContext context = new EvaluationContext(new Dictionary<string, object>() { }, null); string result = templateItem.Evaluate(context); Assert.AreEqual("indeed", result.Trim()); }
public void ForeachWithMultipleElements() { TemplateEngine engine = new TemplateEngine(); RootTemplate templateItem = engine.BuildTemplate("#foreach(${person} in ${persons})${person}#end"); EvaluationContext context = new EvaluationContext(new Dictionary<string, object>() { {"persons", new List<string>(){ "one", "two", "three" }} }, null); string result = templateItem.Evaluate(context); Assert.AreEqual("onetwothree", result); }
public void Text() { TemplateEngine engine = new TemplateEngine(); RootTemplate templateItem = engine.BuildTemplate("a$toprint}a"); EvaluationContext context = new EvaluationContext(new Dictionary<string, object>() { {"toprint", "this"} }, null); string result = templateItem.Evaluate(context); Assert.AreEqual("a$toprint}a", result); }
public void SingleLineCommentWithoutLineEnding() { TemplateEngine engine = new TemplateEngine(); RootTemplate templateItem = engine.BuildTemplate("test##aaa${test}aaa#end#foreacg#if###"); EvaluationContext context = new EvaluationContext(new Dictionary<string, object>() { }, null); string result = templateItem.Evaluate(context); Assert.AreEqual("test", result); }
public void OneEndTooMany() { TemplateEngine engine = new TemplateEngine(); RootTemplate templateItem = engine.BuildTemplate("#comment a #end #end"); }
public void MultiLineCommentInOneLine() { TemplateEngine engine = new TemplateEngine(); RootTemplate templateItem = engine.BuildTemplate("#*#foreach(${person} in ${persons})${person}#end*#"); EvaluationContext context = new EvaluationContext(new Dictionary<string, object>() { }, null); string result = templateItem.Evaluate(context); Assert.AreEqual(string.Empty, result); }
public void MultiLineCommentInMultipleLinesWithoutEnding() { TemplateEngine engine = new TemplateEngine(); RootTemplate templateItem = engine.BuildTemplate("\n\n\r\tq#*#foreach(\r${person} in ${persons})${pe\nrson}#end\na"); }
public void MultiLineCommentInMultipleLines() { TemplateEngine engine = new TemplateEngine(); RootTemplate templateItem = engine.BuildTemplate("\r\tq#*#foreach(\r${person} in ${persons})${pe\nrson}#end*#\na"); EvaluationContext context = new EvaluationContext(new Dictionary<string, object>() { }, null); string result = templateItem.Evaluate(context); Assert.AreEqual("\r\tqa", result); }
public void LongElseElseIfElse() { TemplateEngine engine = new TemplateEngine(); RootTemplate templateItem = engine.BuildTemplate(@" #if(false) #elseif(false) #elseif(false) #elseif(false) #else indeed #end"); EvaluationContext context = new EvaluationContext(new Dictionary<string, object>() { }, null); string result = templateItem.Evaluate(context); Assert.IsTrue(result.Contains("indeed")); }
public void LongElseElseIf() { TemplateEngine engine = new TemplateEngine(); RootTemplate templateItem = engine.BuildTemplate(@" #if(false) #elseif(false) #elseif(false) #elseif(false) #else #end"); EvaluationContext context = new EvaluationContext(new Dictionary<string, object>() { }, null); string result = templateItem.Evaluate(context); Assert.AreEqual(string.Empty, result.Trim()); }
public void InvalidIfStart() { TemplateEngine engine = new TemplateEngine(); RootTemplate templateItem = engine.BuildTemplate("#if (true) #end"); }
public void InvalidIfPrintStatement() { TemplateEngine engine = new TemplateEngine(); RootTemplate templateItem = engine.BuildTemplate("test${asddsa\na}"); }
public void InvalidForeachStart() { TemplateEngine engine = new TemplateEngine(); RootTemplate templateItem = engine.BuildTemplate("#foreach (${person} in ${persons})${person}#end"); }
public void IfFalse() { TemplateEngine engine = new TemplateEngine(); RootTemplate templateItem = engine.BuildTemplate("#if(false)no#end"); EvaluationContext context = new EvaluationContext(new Dictionary<string, object>() { }, null); string result = templateItem.Evaluate(context); Assert.AreEqual(string.Empty, result); }