public void InstrumentationPass_SkipsTagHelper_WithoutLocation() { // Arrange var document = new DocumentIntermediateNode() { Options = RazorCodeGenerationOptions.CreateDefault(), }; var builder = IntermediateNodeBuilder.Create(document); builder.Push(new TagHelperIntermediateNode()); var pass = new InstrumentationPass() { Engine = RazorProjectEngine.CreateEmpty().Engine, }; // Act pass.Execute(TestRazorCodeDocument.CreateEmpty(), document); // Assert Children( document, n => Assert.IsType <TagHelperIntermediateNode>(n)); }
public void InstrumentationPass_SkipsHtml_WithoutLocation() { // Arrange var document = new DocumentIntermediateNode() { Options = RazorCodeGenerationOptions.CreateDefault(), }; var builder = IntermediateNodeBuilder.Create(document); builder.Push(new HtmlContentIntermediateNode()); builder.Add(new IntermediateToken() { Content = "Hi", Kind = TokenKind.Html, }); builder.Pop(); var pass = new InstrumentationPass() { Engine = RazorProjectEngine.CreateEmpty().Engine, }; // Act pass.Execute(TestRazorCodeDocument.CreateEmpty(), document); // Assert Children( document, n => IntermediateNodeAssert.Html("Hi", n)); }
public void InstrumentationPass_InstrumentsTagHelper() { // Arrange var document = new DocumentIntermediateNode() { Options = RazorCodeGenerationOptions.CreateDefault(), }; var builder = IntermediateNodeBuilder.Create(document); builder.Add(new TagHelperIntermediateNode() { Source = CreateSource(3), }); var pass = new InstrumentationPass() { Engine = RazorProjectEngine.CreateEmpty().Engine, }; // Act pass.Execute(TestRazorCodeDocument.CreateEmpty(), document); // Assert Children( document, n => BeginInstrumentation("3, 3, false", n), n => Assert.IsType <TagHelperIntermediateNode>(n), n => EndInstrumentation(n)); }
public void InstrumentationPass_InstrumentsCSharpExpression() { // Arrange var document = new DocumentIntermediateNode() { Options = RazorCodeGenerationOptions.CreateDefault(), }; var builder = IntermediateNodeBuilder.Create(document); builder.Push(new CSharpExpressionIntermediateNode() { Source = CreateSource(2), }); builder.Add(new IntermediateToken() { Content = "Hi", Kind = TokenKind.CSharp, }); var pass = new InstrumentationPass() { Engine = RazorProjectEngine.CreateEmpty().Engine, }; // Act pass.Execute(TestRazorCodeDocument.CreateEmpty(), document); // Assert Children( document, n => BeginInstrumentation("2, 2, false", n), n => CSharpExpression("Hi", n), n => EndInstrumentation(n)); }
public void InstrumentationPass_InstrumentsHtml() { // Arrange var document = new DocumentIntermediateNode(); var builder = IntermediateNodeBuilder.Create(document); builder.Push(new HtmlContentIntermediateNode() { Source = CreateSource(1), }); builder.Add(new IntermediateToken() { Content = "Hi", Kind = TokenKind.Html, Source = CreateSource(1) }); builder.Pop(); var pass = new InstrumentationPass() { Engine = RazorEngine.CreateEmpty(b => { }), }; // Act pass.Execute(TestRazorCodeDocument.CreateEmpty(), document); // Assert Children( document, n => BeginInstrumentation("1, 1, true", n), n => IntermediateNodeAssert.Html("Hi", n), n => EndInstrumentation(n)); }
public void InstrumentationPass_SkipsCSharpExpression_WithoutLocation() { // Arrange var document = new DocumentIntermediateNode(); var builder = IntermediateNodeBuilder.Create(document); builder.Push(new CSharpExpressionIntermediateNode()); builder.Add(new IntermediateToken() { Content = "Hi", Kind = TokenKind.CSharp, }); var pass = new InstrumentationPass() { Engine = RazorEngine.CreateEmpty(b => { }), }; // Act pass.Execute(TestRazorCodeDocument.CreateEmpty(), document); // Assert Children( document, n => CSharpExpression("Hi", n)); }
public void InstrumentationPass_SkipsCSharpExpression_InsideTagHelperProperty() { // Arrange var document = new DocumentIntermediateNode() { Options = RazorCodeGenerationOptions.CreateDefault(), }; var builder = IntermediateNodeBuilder.Create(document); builder.Push(new TagHelperIntermediateNode()); builder.Push(new TagHelperPropertyIntermediateNode()); builder.Push(new CSharpExpressionIntermediateNode() { Source = CreateSource(5) }); builder.Add(new IntermediateToken() { Content = "Hi", Kind = TokenKind.CSharp, }); var pass = new InstrumentationPass() { Engine = RazorProjectEngine.CreateEmpty().Engine, }; // Act pass.Execute(TestRazorCodeDocument.CreateEmpty(), document); // Assert Children( document, n => { Assert.IsType <TagHelperIntermediateNode>(n); Children( n, c => { Assert.IsType <TagHelperPropertyIntermediateNode>(c); Children( c, s => CSharpExpression("Hi", s)); }); }); }