public void CompilationProperties() { const string srcStr = @"#<conf> <compiler base-class-name=""NFX.NUnit.Templatization.TeztTemplate"" namespace=""NFX.NUnit.Templatization"" abstract=""true"" summary=""Test master page"" /> #</conf> #[class] public string Title { get {return ""aaaaa""; } } protected abstract void renderHeader(); protected abstract void renderBody(bool showDetails); protected abstract void renderFooter(); #[render] <html> <head> <title>?[Title]</title> </head> <body> <h1>This is Header</h1> @[renderHeader();] <h1>This is Body</h1> @[renderBody(true);] <p>This is in master page</p> <h1>This is Footer</h1> @[renderFooter();] </body> </html> "; TemplateStringContentSource src = new TemplateStringContentSource(srcStr); TextCSTemplateCompiler compiler = new TextCSTemplateCompiler(src); compiler.Compile(); Assert.AreEqual(1, compiler.Count()); CompileUnit unit = compiler.First(); Assert.IsNull(unit.CompilationException); Assert.IsNull(unit.CompiledTemplateType); Assert.IsNotNullOrEmpty(unit.CompiledTemplateTypeName); Assert.AreSame(src, unit.TemplateSource); Assert.AreEqual(srcStr, src.Content); }
public void La() { string templateStr = @" #<laconf> compiler { base-class-name=""NFX.NUnit.Templatization.TeztTemplate"" namespace=""TestWebApp.Templates"" summary=""Test master page"" using {ns=""NFX.Web"" } using {ns=""NFX.RecordModel"" } using {ns=""BusinessLogic"" } attribute {decl=""BusinessLogic.SultanPermission(4)"" } } #</laconf>"; TemplateStringContentSource templateSrc = new TemplateStringContentSource(templateStr); TextCSTemplateCompiler compiler = new TextCSTemplateCompiler(templateSrc); compiler.Compile(); Assert.AreEqual(1, compiler.Count()); CompileUnit unit = compiler.First(); Assert.IsNull(unit.CompilationException); Assert.IsNull(unit.CompiledTemplateType); Assert.IsNotNullOrEmpty(unit.CompiledTemplateTypeName); Assert.AreSame(templateSrc, unit.TemplateSource); Assert.AreEqual(templateStr, templateSrc.Content); }
public void Social() { string templateStr =@" #<laconf> compiler { base-class-name=""NFX.NUnit.Templatization.TeztTemplate"" namespace=""NFX.NUnit.Templatization"" summary=""Social Master Page"" } #</laconf> #[class] public string Title { get { return ""Social"";}} #[render] <html> <head> <title>?[Title]</title> </head> <body> </body> </html>"; TemplateStringContentSource templateSrc = new TemplateStringContentSource(templateStr); TextCSTemplateCompiler compiler = new TextCSTemplateCompiler(templateSrc); compiler.Compile(); Assert.AreEqual(1, compiler.Count()); CompileUnit unit = compiler.First(); Console.WriteLine(unit.CompiledSource); }
public void InitialState() { TextCSTemplateCompiler compiler = new TextCSTemplateCompiler(); Assert.False(compiler.Compiled); Assert.False(compiler.CompileCode); Assert.IsTrue(string.IsNullOrEmpty(compiler.ReferencedAssembliesSearchPath)); Assert.AreEqual(0, compiler.Count()); Assert.AreEqual(0, compiler.CompileUnitsWithErrors.Count()); Assert.AreEqual(0, compiler.CodeCompilerErrors.Count()); Assert.AreEqual(6, compiler.ReferencedAssemblies.Count()); }