From e061b98f9d078bbb8d8b47269fe4afe3bd2c2364 Mon Sep 17 00:00:00 2001 From: Steve Sanderson Date: Tue, 13 Feb 2018 17:18:06 +0000 Subject: [PATCH] In RazorCompilerTest, don't use BuildRenderTree directly (because it will soon be removed) --- .../RazorCompilerTest.cs | 39 +++++++++---------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/test/Microsoft.AspNetCore.Blazor.Build.Test/RazorCompilerTest.cs b/test/Microsoft.AspNetCore.Blazor.Build.Test/RazorCompilerTest.cs index b279f2bf86..8d9c43ae49 100644 --- a/test/Microsoft.AspNetCore.Blazor.Build.Test/RazorCompilerTest.cs +++ b/test/Microsoft.AspNetCore.Blazor.Build.Test/RazorCompilerTest.cs @@ -88,15 +88,12 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test [Fact] public void SupportsPlainText() { - // Arrange - var treeBuilder = new RenderTreeBuilder(new TestRenderer()); - // Arrange/Act var component = CompileToComponent("Some plain text"); - component.BuildRenderTree(treeBuilder); + var frames = GetRenderTree(component); // Assert - Assert.Collection(treeBuilder.GetFrames(), + Assert.Collection(frames, frame => AssertFrame.Text(frame, "Some plain text", 0)); } @@ -303,17 +300,14 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test [Fact] public void SupportsUsingStatements() { - // Arrange - var treeBuilder = new RenderTreeBuilder(new TestRenderer()); - // Arrange/Act var component = CompileToComponent( @"@using System.Collections.Generic @(typeof(List).FullName)"); - component.BuildRenderTree(treeBuilder); + var frames = GetRenderTree(component); // Assert - Assert.Collection(treeBuilder.GetFrames(), + Assert.Collection(frames, frame => AssertFrame.Whitespace(frame, 0), frame => AssertFrame.Text(frame, typeof(List).FullName, 1)); } @@ -352,24 +346,22 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test [Fact] public void SupportsChildComponentsViaTemporarySyntax() { - // Arrange - var treeBuilder = new RenderTreeBuilder(new TestRenderer()); - // Arrange/Act var testComponentTypeName = typeof(TestComponent).FullName.Replace('+', '.'); var component = CompileToComponent($""); - component.BuildRenderTree(treeBuilder); + var frames = GetRenderTree(component); // Assert - Assert.Collection(treeBuilder.GetFrames(), + Assert.Collection(frames, frame => AssertFrame.Component(frame, 0)); } - private static ArrayRange GetRenderTree(IComponent component) + private static RenderTreeFrame[] GetRenderTree(IComponent component) { - var treeBuilder = new RenderTreeBuilder(new TestRenderer()); - component.BuildRenderTree(treeBuilder); - return treeBuilder.GetFrames(); + var renderer = new TestRenderer(); + renderer.AttachComponent(component); + component.SetParameters(ParameterCollection.Empty); + return renderer.LatestBatchReferenceFrames; } private static IComponent CompileToComponent(string cshtmlSource) @@ -472,8 +464,15 @@ namespace Microsoft.AspNetCore.Blazor.Build.Test private class TestRenderer : Renderer { + public RenderTreeFrame[] LatestBatchReferenceFrames { get; private set; } + + public void AttachComponent(IComponent component) + => AssignComponentId(component); + protected override void UpdateDisplay(RenderBatch renderBatch) - => throw new NotImplementedException(); + { + LatestBatchReferenceFrames = renderBatch.ReferenceFrames.ToArray(); + } } public class TestComponent : IComponent