public async Task ProcessAsync_Disabled_AddsDisabledAttributesToOutput() { // Arrange var context = new TagHelperContext( tagName: "govuk-button-link", allAttributes: new TagHelperAttributeList(), items: new Dictionary <object, object>(), uniqueId: "test"); var output = new TagHelperOutput( "govuk-button-link", attributes: new TagHelperAttributeList() { { "href", "http://foo.com" } }, getChildContentAsync: (useCachedResult, encoder) => { var tagHelperContent = new DefaultTagHelperContent(); tagHelperContent.SetContent("Button text"); return(Task.FromResult <TagHelperContent>(tagHelperContent)); }); var tagHelper = new ButtonLinkTagHelper() { Disabled = true }; // Act await tagHelper.ProcessAsync(context, output); // Assert var element = output.RenderToElement(); Assert.Contains("govuk-button--disabled", element.ClassList); }
public async Task ProcessAsync_GeneratesExpectedOutput() { // Arrange var context = new TagHelperContext( tagName: "govuk-button-link", allAttributes: new TagHelperAttributeList(), items: new Dictionary <object, object>(), uniqueId: "test"); var output = new TagHelperOutput( "govuk-button-link", attributes: new TagHelperAttributeList() { { "href", "http://foo.com" } }, getChildContentAsync: (useCachedResult, encoder) => { var tagHelperContent = new DefaultTagHelperContent(); tagHelperContent.SetContent("Button text"); return(Task.FromResult <TagHelperContent>(tagHelperContent)); }); var tagHelper = new ButtonLinkTagHelper(); // Act await tagHelper.ProcessAsync(context, output); // Assert var expectedHtml = @" <a class=""govuk-button"" data-module=""govuk-button"" draggable=""false"" href=""http://foo.com"" role=""button""> Button text </a>"; AssertEx.HtmlEqual(expectedHtml, output.RenderToString()); }