public void IfFalseCondition() { var compiler = new OxygeneViewCompiler { BaseClass = "Spark.SparkViewBase" }; var trueChunks = new Chunk[] { new SendLiteralChunk { Text = "wastrue" } }; DoCompileView(compiler, new Chunk[] { new SendLiteralChunk {Text = "<p>"}, new LocalVariableChunk{Name="arg", Value="5"}, new ConditionalChunk{Type=ConditionalType.If, Condition="arg = 6", Body=trueChunks}, new SendLiteralChunk {Text = "</p>"} }); var instance = compiler.CreateInstance(); var contents = instance.RenderView(); Assert.AreEqual("<p></p>", contents); }
public void ForEachLoop() { var compiler = new OxygeneViewCompiler { BaseClass = "Spark.SparkViewBase" }; DoCompileView(compiler, new Chunk[] { new LocalVariableChunk {Name = "data", Value = "array of System.Object ([3,4,5])"}, new SendLiteralChunk {Text = "<ul>"}, new ForEachChunk { //Code = "var item in data", Code = "item in data", // for each item in data Body = new Chunk[] { new SendLiteralChunk {Text = "<li>"}, new SendExpressionChunk {Code = "item"}, new SendLiteralChunk {Text = "</li>"} } }, new SendLiteralChunk {Text = "</ul>"} }); var instance = compiler.CreateInstance(); var contents = instance.RenderView(); Assert.AreEqual("<ul><li>3</li><li>4</li><li>5</li></ul>", contents); }
public void UnsafeLiteralCharacters() { var text = "hello\t\r\n'world"; var compiler = new OxygeneViewCompiler { BaseClass = "Spark.SparkViewBase" }; DoCompileView(compiler, new[] { new SendLiteralChunk { Text = text } }); Assert.That(compiler.SourceCode.Contains("Write('hello")); var instance = compiler.CreateInstance(); string contents = instance.RenderView(); Assert.AreEqual(text, contents); }
public void TargetNamespace() { var compiler = new OxygeneViewCompiler { BaseClass = "Spark.SparkViewBase", Descriptor = new SparkViewDescriptor { TargetNamespace = "Testing.Target.Namespace" }, UseNamespaces = new List<string>() { "System.Collections.Generic" } }; DoCompileView(compiler, new Chunk[] { new SendLiteralChunk { Text = "Hello" } }); var instance = compiler.CreateInstance(); Assert.AreEqual("Testing.Target.Namespace", instance.GetType().Namespace); }
public void SimpleOutput() { var compiler = new OxygeneViewCompiler { BaseClass = "Spark.SparkViewBase" }; DoCompileView(compiler, new[] { new SendExpressionChunk { Code = "3 + 4" } }); var instance = compiler.CreateInstance(); string contents = instance.RenderView(); Assert.AreEqual("7", contents); }
public void PageBaseTypeWorksWithOptionalModel() { var compiler = new OxygeneViewCompiler() { BaseClass = "Spark.Tests.Stubs.StubSparkView", NullBehaviour = NullBehaviour.Strict }; DoCompileView(compiler, new Chunk[] { new PageBaseTypeChunk {BaseClass = "Spark.Tests.Stubs.StubSparkView2"}, new ViewDataModelChunk {TModel = "Spark.Tests.Models.Comment"}, new SendLiteralChunk {Text = "Hello world"} }); var instance = compiler.CreateInstance(); Assert.That(instance, Is.InstanceOfType(typeof(StubSparkView2))); Assert.That(instance, Is.InstanceOfType(typeof(StubSparkView2<Comment>))); }
public void PageBaseTypeWorksWithGenericParametersIncluded() { var compiler = new OxygeneViewCompiler() { BaseClass = "Spark.Tests.Stubs.StubSparkView", NullBehaviour = NullBehaviour.Strict }; DoCompileView(compiler, new Chunk[] { new PageBaseTypeChunk {BaseClass = "Spark.Tests.Stubs.StubSparkView3<Spark.Tests.Models.Comment, string>"}, new SendLiteralChunk {Text = "Hello world"} }); var instance = compiler.CreateInstance(); Assert.That(instance, Is.InstanceOfType(typeof(StubSparkView2))); Assert.That(instance, Is.InstanceOfType(typeof(StubSparkView2<Comment>))); Assert.That(instance, Is.InstanceOfType(typeof(StubSparkView3<Comment, string>))); }
public void PageBaseTypeOverridesBaseClass() { var compiler = new OxygeneViewCompiler() { BaseClass = "Spark.Tests.Stubs.StubSparkView", NullBehaviour = NullBehaviour.Strict }; DoCompileView(compiler, new Chunk[] { new PageBaseTypeChunk { BaseClass="Spark.Tests.Stubs.StubSparkView2"}, new SendLiteralChunk{ Text = "Hello world"} }); var instance = compiler.CreateInstance(); Assert.That(instance, Is.InstanceOfType(typeof(StubSparkView2))); }
public void MakeAndCompile() { var compiler = new OxygeneViewCompiler { BaseClass = "Spark.SparkViewBase" }; DoCompileView(compiler, new[] { new SendLiteralChunk { Text = "hello world" } }); var instance = compiler.CreateInstance(); string contents = instance.RenderView(); Assert.That(contents.Contains("hello world")); }
public void LocalVariableDecl() { var compiler = new OxygeneViewCompiler { BaseClass = "Spark.SparkViewBase" }; DoCompileView(compiler, new Chunk[] { new LocalVariableChunk { Name = "i", Value = "5" }, new SendExpressionChunk { Code = "i" } }); var instance = compiler.CreateInstance(); string contents = instance.RenderView(); Assert.AreEqual("5", contents); }