public void SetHtmlContent_TextIsNotFurtherEncoded() { // Arrange var tagHelperContent = new DefaultTagHelperContent(); // Act tagHelperContent.SetHtmlContent("Hi"); // Assert Assert.Equal("Hi", tagHelperContent.GetContent(new HtmlTestEncoder())); }
public void SetHtmlContent_TextIsNotFurtherEncoded() { // Arrange var tagHelperContent = new DefaultTagHelperContent(); // Act tagHelperContent.SetHtmlContent("Hi"); // Assert Assert.Equal("Hi", tagHelperContent.GetContent(new HtmlTestEncoder())); }
public void SetHtmlContent_ClearsExistingContent() { // Arrange var tagHelperContent = new DefaultTagHelperContent(); tagHelperContent.AppendHtml("Contoso"); // Act tagHelperContent.SetHtmlContent("Hello World!"); // Assert Assert.Equal("Hello World!", tagHelperContent.GetContent(new HtmlTestEncoder())); }
public void SetHtmlContent_ClearsExistingContent() { // Arrange var tagHelperContent = new DefaultTagHelperContent(); tagHelperContent.AppendHtml("Contoso"); // Act tagHelperContent.SetHtmlContent("Hello World!"); // Assert Assert.Equal("Hello World!", tagHelperContent.GetContent(new HtmlTestEncoder())); }
public static void AddClass() { var output = new TagHelperOutput("div", new TagHelperAttributeList(), (result, encoder) => { var tagHelperContent = new DefaultTagHelperContent(); tagHelperContent.SetHtmlContent(string.Empty); return(Task.FromResult <TagHelperContent>(tagHelperContent)); }); output.AddClass(""); output.Attributes.ContainsName("class").ShouldBeFalse(); output.AddClass("test"); output.Attributes["class"].Value.ShouldBe("test"); }
public void SetHtmlContent_WithTagHelperContent_WorksAsExpected(string content, string expected) { // Arrange var tagHelperContent = new DefaultTagHelperContent(); var copiedTagHelperContent = new DefaultTagHelperContent(); tagHelperContent.SetContent(content); // Act copiedTagHelperContent.SetHtmlContent(tagHelperContent); // Assert Assert.Equal(expected, copiedTagHelperContent.GetContent(new HtmlTestEncoder())); }
public void SetHtmlContent_WithTagHelperContent_WorksAsExpected(string content, string expected) { // Arrange var tagHelperContent = new DefaultTagHelperContent(); var copiedTagHelperContent = new DefaultTagHelperContent(); tagHelperContent.SetContent(content); // Act copiedTagHelperContent.SetHtmlContent(tagHelperContent); // Assert Assert.Equal(expected, copiedTagHelperContent.GetContent(new HtmlTestEncoder())); }
private static TagHelperOutput GetTagHelperOutput( string tagName = "distributed-cache", TagHelperAttributeList attributes = null, string childContent = "some child content") { attributes = attributes ?? new TagHelperAttributeList { { "attr", "value" } }; return new TagHelperOutput( tagName, attributes, getChildContentAsync: (useCachedResult, encoder) => { var tagHelperContent = new DefaultTagHelperContent(); tagHelperContent.SetHtmlContent(childContent); return Task.FromResult<TagHelperContent>(tagHelperContent); }); }
public async Task ProcessAsync_ExceptionInProcessing_DoesntBlockConcurrentRequests() { // Arrange var childContent = "some-content"; var resetEvent1 = new ManualResetEvent(false); var resetEvent2 = new ManualResetEvent(false); var resetEvent3 = new ManualResetEvent(false); var calls = 0; var formatter = GetFormatter(); var storage = GetStorage(); var service = new DistributedCacheTagHelperService( storage, formatter, new HtmlTestEncoder(), NullLoggerFactory.Instance ); var tagHelperContext1 = GetTagHelperContext(); var tagHelperContext2 = GetTagHelperContext(); var tagHelperOutput1 = new TagHelperOutput( "distributed-cache", new TagHelperAttributeList(), getChildContentAsync: (useCachedResult, encoder) => { calls++; resetEvent2.Set(); throw new Exception(); }); var tagHelperOutput2 = new TagHelperOutput( "distributed-cache", new TagHelperAttributeList(), getChildContentAsync: (useCachedResult, encoder) => { calls++; resetEvent3.WaitOne(5000); var tagHelperContent = new DefaultTagHelperContent(); tagHelperContent.SetHtmlContent(childContent); return Task.FromResult<TagHelperContent>(tagHelperContent); }); var cacheTagHelper1 = new DistributedCacheTagHelper( service, new HtmlTestEncoder()) { ViewContext = GetViewContext(), Enabled = true }; var cacheTagHelper2 = new DistributedCacheTagHelper( service, new HtmlTestEncoder()) { ViewContext = GetViewContext(), Enabled = true }; // Act var task1 = Task.Run(async () => { resetEvent1.WaitOne(5000); await Assert.ThrowsAsync<Exception>(() => cacheTagHelper1.ProcessAsync(tagHelperContext1, tagHelperOutput1)); resetEvent3.Set(); }); var task2 = Task.Run(async () => { resetEvent2.WaitOne(5000); await cacheTagHelper2.ProcessAsync(tagHelperContext2, tagHelperOutput2); }); resetEvent1.Set(); await Task.WhenAll(task1, task2); // Assert Assert.Empty(tagHelperOutput1.PreContent.GetContent()); Assert.Empty(tagHelperOutput1.PostContent.GetContent()); Assert.False(tagHelperOutput1.IsContentModified); Assert.Empty(tagHelperOutput1.Content.GetContent()); Assert.Empty(tagHelperOutput2.PreContent.GetContent()); Assert.Empty(tagHelperOutput2.PostContent.GetContent()); Assert.True(tagHelperOutput2.IsContentModified); Assert.Equal(childContent, tagHelperOutput2.Content.GetContent()); Assert.Equal(2, calls); }