public async Task ExecuteAsync_DoesNotPersistDataWhenNoPrerenderHappened() { // Arrange var tagHelper = new PersistComponentStateTagHelper { ViewContext = GetViewContext() }; var context = GetTagHelperContext(); var output = GetTagHelperOutput(); // Act await tagHelper.ProcessAsync(context, output); // Assert var content = HtmlContentUtilities.HtmlContentToString(output.Content); Assert.Empty(content); Assert.Null(output.TagName); }
public async Task ExecuteAsync_RendersServerStateExplicitly() { // Arrange var tagHelper = new PersistComponentStateTagHelper { ViewContext = GetViewContext(), PersistenceMode = PersistenceMode.Server }; var context = GetTagHelperContext(); var output = GetTagHelperOutput(); // Act await tagHelper.ProcessAsync(context, output); // Assert var content = HtmlContentUtilities.HtmlContentToString(output.Content); Assert.NotEmpty(content); var payload = content["<!--Blazor-Component-State:".Length..^ "-->".Length];
public async Task ExecuteAsync_RendersWebAssemblyStateExplicitly() { // Arrange var tagHelper = new PersistComponentStateTagHelper { ViewContext = GetViewContext(), PersistenceMode = PersistenceMode.WebAssembly }; var context = GetTagHelperContext(); var output = GetTagHelperOutput(); // Act await tagHelper.ProcessAsync(context, output); // Assert var content = HtmlContentUtilities.HtmlContentToString(output.Content); Assert.Equal("<!--Blazor-Component-State:e30=-->", content); Assert.Null(output.TagName); }
public async Task ExecuteAsync_RendersWebAssemblyStateImplicitlyWhenAWebAssemblyComponentWasPrerendered() { // Arrange var tagHelper = new PersistComponentStateTagHelper { ViewContext = GetViewContext() }; ComponentRenderer.UpdateSaveStateRenderMode(tagHelper.ViewContext, RenderMode.WebAssemblyPrerendered); var context = GetTagHelperContext(); var output = GetTagHelperOutput(); // Act await tagHelper.ProcessAsync(context, output); // Assert var content = HtmlContentUtilities.HtmlContentToString(output.Content); Assert.Equal("<!--Blazor-Component-State:e30=-->", content); Assert.Null(output.TagName); }