static void Main(string[] args) { Console.WriteLine("docxtemplateenginetest, CC BY-SA 3.0, swxben.com"); if (args.Count() != 3) { Console.WriteLine("Usage: docxtemplateenginetest <input.docx> <output.docx> \"<json input>\""); Console.WriteLine("Eg: docxtemplateenginetest input.docx output.docx { name: 'Software by Ben' }"); return; } var source = args[0]; var destination = args[1]; var json = args[2]; var data = JsonToDynamic((JToken)JsonConvert.DeserializeObject(json)); var templateEngine = new DocXTemplateEngine(); Console.WriteLine("Processing..."); templateEngine.Process(source, destination, data); Console.WriteLine("Complete"); Console.WriteLine(); }
public void simple_value_is_replaced() { var template = "this is an " + DocXTemplateEngine.TOKEN_START + "tmpl" + DocXTemplateEngine.TOKEN_END + " template"; var result = DocXTemplateEngine.ReplaceTemplateField(template, "tmpl", "example"); result.ShouldBe("this is an example template"); }
public void typed_property_object_from_json_is_used() { var template = "Name: " + DocXTemplateEngine.TOKEN_START + "Name" + DocXTemplateEngine.TOKEN_END + ", Age: " + DocXTemplateEngine.TOKEN_START + "Age" + DocXTemplateEngine.TOKEN_END; var data = JsonConvert.DeserializeObject <PersonWithProperties>("{ Name: 'Bob', Age: 26 }"); var result = DocXTemplateEngine.ParseTemplate(template, data); result.ShouldBe("Name: Bob, Age: 26"); }
public void single_object_property_is_replaced() { var template = "Name: " + DocXTemplateEngine.TOKEN_START + "Name" + DocXTemplateEngine.TOKEN_END; var data = new { Name = "John" }; var result = DocXTemplateEngine.ParseTemplate(template, data); result.ShouldBe("Name: John"); }
public void property_not_found_is_not_replaced() { var template = "Name: " + DocXTemplateEngine.TOKEN_START + "Name" + DocXTemplateEngine.TOKEN_END + ", Age: " + DocXTemplateEngine.TOKEN_START + "Age" + DocXTemplateEngine.TOKEN_END; dynamic data = new ExpandoObject(); data.Name = "Sam"; var result = (string)DocXTemplateEngine.ParseTemplate(template, data); result.ShouldBe(string.Format("Name: Sam, Age: {0}Age{1}", DocXTemplateEngine.TOKEN_START, DocXTemplateEngine.TOKEN_END)); }
public void typed_field_object_is_used_with_null_field() { var template = "Name: " + DocXTemplateEngine.TOKEN_START + "Name" + DocXTemplateEngine.TOKEN_END + ", Age: " + DocXTemplateEngine.TOKEN_START + "Age" + DocXTemplateEngine.TOKEN_END; var data = JsonConvert.DeserializeObject <PersonWithFields>("{ Name: 'Bob', Age: 26 }"); data.Name = null; var result = DocXTemplateEngine.ParseTemplate(template, data); result.ShouldBe("Name: , Age: 26"); }
public void dynamic_object_is_used_with_null_item() { var template = "Name: " + DocXTemplateEngine.TOKEN_START + "Name" + DocXTemplateEngine.TOKEN_END + ", Age: " + DocXTemplateEngine.TOKEN_START + "Age" + DocXTemplateEngine.TOKEN_END; dynamic data = new ExpandoObject(); data.Name = "Maxi"; data.Age = null; var result = (string)DocXTemplateEngine.ParseTemplate(template, data); result.ShouldBe("Name: Maxi, Age: "); }
public void data_properties_are_used() { var template = "Name: " + DocXTemplateEngine.TOKEN_START + "Name" + DocXTemplateEngine.TOKEN_END + ", Age: " + DocXTemplateEngine.TOKEN_START + "Age" + DocXTemplateEngine.TOKEN_END; var data = new PersonWithProperties { Name = "Sam", Age = 29 }; var result = DocXTemplateEngine.ParseTemplate(template, data); result.ShouldBe("Name: Sam, Age: 29"); }
public void multiple_object_properties_are_replaced() { var template = "Name: " + DocXTemplateEngine.TOKEN_START + "Name" + DocXTemplateEngine.TOKEN_END + ", Age: " + DocXTemplateEngine.TOKEN_START + "Age" + DocXTemplateEngine.TOKEN_END; var data = new { Name = "Ben", Age = 32 }; var result = DocXTemplateEngine.ParseTemplate(template, data); result.ShouldBe("Name: Ben, Age: 32"); }