コード例 #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);
        }
コード例 #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];
コード例 #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);
        }
コード例 #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);
        }