Exemple #1
0
    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);
    }
Exemple #2
0
    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];
Exemple #3
0
    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);
    }
Exemple #4
0
    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);
    }