public void Encapsulation_and_reuse_with_HTML_helpers() { var pageTemplate = @"@model ServiceStack.ServiceHost.Tests.Formats_Razor.Product <fieldset> <legend>Edit Product</legend> <div> @Html.LabelFor(m => m.ProductID) </div> <div> @Html.TextBoxFor(m => m.ProductID) </div> </fieldset> ".NormalizeNewLines(); var expectedHtml = @"<fieldset> <legend>Edit Product</legend> <div> <label for=""ProductID"">ProductID</label> </div> <div> <input id=""ProductID"" name=""ProductID"" type=""text"" value=""10"" /> </div> </fieldset> ".NormalizeNewLines(); var product = new Product { ProductID = 10 }; var html = RazorFormat.CreateAndRenderToHtml(pageTemplate, product); Assert.That(html, Is.EqualTo(expectedHtml)); }
public void Using_Custom_base_class() { var pageTemplate = @"@inherits ServiceStack.ServiceHost.Tests.Formats_Razor.CustomBaseClass<ServiceStack.ServiceHost.Tests.Formats_Razor.Product> <fieldset> <legend>All Products</legend> @Field(""Name"", Model.Name) </fieldset>".NormalizeNewLines(); var expectedHtml = @"<fieldset> <legend>All Products</legend> <label for='Name'>Name</label> <input name='Name' value='Pen'/> </fieldset>".NormalizeNewLines(); RazorFormat.PageBaseType = typeof(CustomBaseClass <>); var html = RazorFormat.CreateAndRenderToHtml(pageTemplate, new Product("Pen", 1.99m)); html.Print(); Assert.That(html, Is.EqualTo(expectedHtml)); }