Fix #1305 move instrumentation to MVC

This commit is contained in:
Ryan Nowak 2017-05-12 15:44:49 -07:00
parent 682d630fa2
commit 86d045c667
9 changed files with 31 additions and 18 deletions

View File

@ -3,11 +3,12 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Globalization; using System.Globalization;
using Microsoft.AspNetCore.Razor.Language;
using Microsoft.AspNetCore.Razor.Language.Intermediate; using Microsoft.AspNetCore.Razor.Language.Intermediate;
namespace Microsoft.AspNetCore.Razor.Language namespace Microsoft.AspNetCore.Mvc.Razor.Extensions
{ {
public class DefaultInstrumentationPass : RazorIRPassBase, IRazorIROptimizationPass public class InstrumentationPass : RazorIRPassBase, IRazorIROptimizationPass
{ {
public override int Order => DefaultFeatureOrder; public override int Order => DefaultFeatureOrder;

View File

@ -24,7 +24,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Extensions
if (!builder.DesignTime) if (!builder.DesignTime)
{ {
builder.Features.Add(new DefaultInstrumentationPass()); builder.Features.Add(new InstrumentationPass());
} }
} }
} }

View File

@ -1,13 +1,14 @@
// Copyright (c) .NET Foundation. All rights reserved. // Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.AspNetCore.Razor.Language;
using Microsoft.AspNetCore.Razor.Language.Intermediate; using Microsoft.AspNetCore.Razor.Language.Intermediate;
using Xunit; using Xunit;
using static Microsoft.AspNetCore.Razor.Language.Intermediate.RazorIRAssert; using static Microsoft.AspNetCore.Razor.Language.Intermediate.RazorIRAssert;
namespace Microsoft.AspNetCore.Razor.Language namespace Microsoft.AspNetCore.Mvc.Razor.Extensions
{ {
public class DefaultInstrumentationPassTest public class InstrumentationPassTest
{ {
[Fact] [Fact]
public void InstrumentationPass_InstrumentsHtml() public void InstrumentationPass_InstrumentsHtml()
@ -28,7 +29,7 @@ namespace Microsoft.AspNetCore.Razor.Language
var irDocument = (DocumentIRNode)builder.Build(); var irDocument = (DocumentIRNode)builder.Build();
var pass = new DefaultInstrumentationPass(); var pass = new InstrumentationPass();
// Act // Act
pass.ExecuteCore(TestRazorCodeDocument.CreateEmpty(), irDocument); pass.ExecuteCore(TestRazorCodeDocument.CreateEmpty(), irDocument);
@ -37,7 +38,7 @@ namespace Microsoft.AspNetCore.Razor.Language
Children( Children(
irDocument, irDocument,
n => BeginInstrumentation("1, 1, true", n), n => BeginInstrumentation("1, 1, true", n),
n => Html("Hi", n), n => RazorIRAssert.Html("Hi", n),
n => EndInstrumentation(n)); n => EndInstrumentation(n));
} }
@ -56,7 +57,7 @@ namespace Microsoft.AspNetCore.Razor.Language
var irDocument = (DocumentIRNode)builder.Build(); var irDocument = (DocumentIRNode)builder.Build();
var pass = new DefaultInstrumentationPass(); var pass = new InstrumentationPass();
// Act // Act
pass.ExecuteCore(TestRazorCodeDocument.CreateEmpty(), irDocument); pass.ExecuteCore(TestRazorCodeDocument.CreateEmpty(), irDocument);
@ -64,7 +65,7 @@ namespace Microsoft.AspNetCore.Razor.Language
// Assert // Assert
Children( Children(
irDocument, irDocument,
n => Html("Hi", n)); n => RazorIRAssert.Html("Hi", n));
} }
[Fact] [Fact]
@ -84,7 +85,7 @@ namespace Microsoft.AspNetCore.Razor.Language
var irDocument = (DocumentIRNode)builder.Build(); var irDocument = (DocumentIRNode)builder.Build();
var pass = new DefaultInstrumentationPass(); var pass = new InstrumentationPass();
// Act // Act
pass.ExecuteCore(TestRazorCodeDocument.CreateEmpty(), irDocument); pass.ExecuteCore(TestRazorCodeDocument.CreateEmpty(), irDocument);
@ -111,7 +112,7 @@ namespace Microsoft.AspNetCore.Razor.Language
var irDocument = (DocumentIRNode)builder.Build(); var irDocument = (DocumentIRNode)builder.Build();
var pass = new DefaultInstrumentationPass(); var pass = new InstrumentationPass();
// Act // Act
pass.ExecuteCore(TestRazorCodeDocument.CreateEmpty(), irDocument); pass.ExecuteCore(TestRazorCodeDocument.CreateEmpty(), irDocument);
@ -147,7 +148,7 @@ namespace Microsoft.AspNetCore.Razor.Language
var irDocument = (DocumentIRNode)builder.Build(); var irDocument = (DocumentIRNode)builder.Build();
var pass = new DefaultInstrumentationPass(); var pass = new InstrumentationPass();
// Act // Act
pass.ExecuteCore(TestRazorCodeDocument.CreateEmpty(), irDocument); pass.ExecuteCore(TestRazorCodeDocument.CreateEmpty(), irDocument);
@ -195,7 +196,7 @@ namespace Microsoft.AspNetCore.Razor.Language
var irDocument = (DocumentIRNode)builder.Build(); var irDocument = (DocumentIRNode)builder.Build();
var pass = new DefaultInstrumentationPass(); var pass = new InstrumentationPass();
// Act // Act
pass.ExecuteCore(TestRazorCodeDocument.CreateEmpty(), irDocument); pass.ExecuteCore(TestRazorCodeDocument.CreateEmpty(), irDocument);
@ -232,7 +233,7 @@ namespace Microsoft.AspNetCore.Razor.Language
var irDocument = (DocumentIRNode)builder.Build(); var irDocument = (DocumentIRNode)builder.Build();
var pass = new DefaultInstrumentationPass(); var pass = new InstrumentationPass();
// Act // Act
pass.ExecuteCore(TestRazorCodeDocument.CreateEmpty(), irDocument); pass.ExecuteCore(TestRazorCodeDocument.CreateEmpty(), irDocument);
@ -262,7 +263,7 @@ namespace Microsoft.AspNetCore.Razor.Language
var irDocument = (DocumentIRNode)builder.Build(); var irDocument = (DocumentIRNode)builder.Build();
var pass = new DefaultInstrumentationPass(); var pass = new InstrumentationPass();
// Act // Act
pass.ExecuteCore(TestRazorCodeDocument.CreateEmpty(), irDocument); pass.ExecuteCore(TestRazorCodeDocument.CreateEmpty(), irDocument);
@ -293,7 +294,7 @@ namespace Microsoft.AspNetCore.Razor.Language
var irDocument = (DocumentIRNode)builder.Build(); var irDocument = (DocumentIRNode)builder.Build();
var pass = new DefaultInstrumentationPass(); var pass = new InstrumentationPass();
// Act // Act
pass.ExecuteCore(TestRazorCodeDocument.CreateEmpty(), irDocument); pass.ExecuteCore(TestRazorCodeDocument.CreateEmpty(), irDocument);

View File

@ -3,9 +3,11 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Microsoft.AspNetCore.Razor.Language;
using Microsoft.AspNetCore.Razor.Language.IntegrationTests;
using Xunit; using Xunit;
namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests namespace Microsoft.AspNetCore.Mvc.Razor.Extensions.IntegrationTests
{ {
public class InstrumentationPassIntegrationTest : IntegrationTestBase public class InstrumentationPassIntegrationTest : IntegrationTestBase
{ {
@ -43,7 +45,7 @@ namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests
var engine = RazorEngine.Create(b => var engine = RazorEngine.Create(b =>
{ {
b.AddTagHelpers(descriptors); b.AddTagHelpers(descriptors);
b.Features.Add(new DefaultInstrumentationPass()); b.Features.Add(new InstrumentationPass());
}); });
var document = CreateCodeDocument(); var document = CreateCodeDocument();

View File

@ -0,0 +1,9 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Runtime.CompilerServices;
[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Razor.Language.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("Microsoft.CodeAnalysis.Razor.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("Microsoft.CodeAnalysis.Razor.Workspaces.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("Microsoft.VisualStudio.LanguageServices.Razor.Test, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]