Skip to content

Usage of .Text() in custom builder always gets overridden #99

@mycroes

Description

@mycroes

This is related to #95 (and a regression since HtmlTags 6.x). When creating a custom builder as following:

public class DateTimeBuilder : IElementBuilder
{
    public static string Token = "date-time-builder";

    public HtmlTag Build(ElementRequest request)
    {
        return new HtmlTag("span").Text(Token);
    }
}

the test below fails:

[Fact]
public void ShouldAllowOverridingOfConventionTextUsingCustomBuilder()
{
    var offset = new DateTimeOffset(2018, 1, 1, 12, 00, 00, TimeSpan.FromHours(-6));
    var subject = new Subject {DateValue = offset};
    var helper = GetHtmlHelper(subject);

    var display = helper.Display(m => m.DateValue);

    display.Text().ShouldBe(DateTimeBuilder.Token);
}

I'd love to know if you intend to fix this or if you'll accept this as expected behavior (I guess a modifier can still be used to override the text).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions