public async Task ProcessAsync_WhenNoNonceDoesNotAdd() { // Arrange var id = Guid.NewGuid().ToString(); var tagName = "script"; var tagHelperContext = GetTagHelperContext(id, tagName); string nonceValue = null; var nonceTagHelper = new NonceTagHelper() { AddNonce = true, ViewContext = GetViewContext(nonceValue), }; var output = new TagHelperOutput( tagName, attributes: new TagHelperAttributeList(), getChildContentAsync: (useCachedResult, encoder) => { var tagHelperContent = new DefaultTagHelperContent(); tagHelperContent.SetContent("Something"); return(Task.FromResult <TagHelperContent>(tagHelperContent)); }); output.Content.SetContent("Something Else"); // Act await nonceTagHelper.ProcessAsync(tagHelperContext, output); // Assert Assert.Equal(tagName, output.TagName); Assert.Empty(output.Attributes); Assert.Equal("Something Else", output.Content.GetContent()); }
public async Task ProcessAsync_GeneratesExpectedOutput() { // Arrange var id = Guid.NewGuid().ToString(); var tagName = "script"; var tagHelperContext = GetTagHelperContext(id, tagName); var nonceValue = "FHDK1293843673GFNGB2"; var nonceTagHelper = new NonceTagHelper() { AddNonce = true, ViewContext = GetViewContext(nonceValue), }; var output = new TagHelperOutput( tagName, attributes: new TagHelperAttributeList(), getChildContentAsync: (useCachedResult, encoder) => { var tagHelperContent = new DefaultTagHelperContent(); tagHelperContent.SetContent("Something"); return(Task.FromResult <TagHelperContent>(tagHelperContent)); }); output.Content.SetContent("Something Else"); // Act await nonceTagHelper.ProcessAsync(tagHelperContext, output); // Assert Assert.Equal(tagName, output.TagName); Assert.Single(output.Attributes); var attribute = Assert.Single(output.Attributes, attr => attr.Name.Equals("nonce")); Assert.Equal(nonceValue, attribute.Value); Assert.Equal("Something Else", output.Content.GetContent()); }