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));
        }
Beispiel #2
0
        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));
        }