public void Test_template_rendering_with_escaped_characters() { var instance = Handlebars.Create(new HandlebarsConfiguration { TextEncoder = new NoopTextEncoder() }); var template = new Template("test", instance, TemplateSource.CreateForText("|{{name}}|")); template.Name.Should().Be("test"); template.RenderIntoString(new { name = "< > / \\ & $ # @" }).Should().Be("|< > / \\ & $ # @|"); }
public void Test_template_rendering() { var instance = Handlebars.Create(new HandlebarsConfiguration { TextEncoder = new NoopTextEncoder() }); var template = new Template("test", instance, TemplateSource.CreateForText("Hello {{name}}")); template.Name.Should().Be("test"); template.RenderIntoString(new { name = "Test123" }).Should().Be("Hello Test123"); }
public void Generate_CSharp_from_output_model() { var ns = new Namespace("MyApp.MyTest", null); var builder = new ClassOutputModelBuilder("test", null, new TestClassNamingConvention()); builder.CreateClass("MyClass", ns); builder.CreateProperty("Name", "string"); var outputModel = builder.Build(); var instance = Handlebars.Create(new HandlebarsConfiguration { TextEncoder = new NoopTextEncoder() }); var template = new Template("test", instance, TemplateSource.CreateForText(@" namespace {{Model.ClassNamespace}} public class {{Model.ClassName}} { {{#each Model.Properties}} public {{Type.TypeName}} {{Name}} { get; set; } {{/each}} } ")); var renderer = new ClassOutputModelRenderer(template); var actual = default(string); var expected = @" namespace MyApp.MyTest public class MyClass { public string Name { get; set; } } "; using (var writer = new StringWriter()) { renderer.Render(outputModel, writer); actual = writer.ToString(); } actual.Should().Be(expected); }