From 74889c8f99fa44e567705a69d0c5bab3b06c524f Mon Sep 17 00:00:00 2001 From: Ajay Bhargav Baaskaran Date: Tue, 14 Feb 2017 23:38:44 -0800 Subject: [PATCH] Modified MvcRazorHost tests to use new Razor --- .../LineMappingsSerializer.cs | 54 ++ ...soft.AspNetCore.Mvc.Razor.Host.Test.csproj | 2 + .../MvcRazorHostTest.cs | 583 ------------------ .../RazorEngineTest.cs | 236 +++++++ .../TestFiles/Input/MultipleModels.cshtml | 2 +- .../TestFiles/Output/DesignTime/Basic.cs | 113 +++- .../Output/DesignTime/Basic.mappings.txt | 10 + .../TestFiles/Output/DesignTime/Inject.cs | 136 ++-- .../Output/DesignTime/Inject.mappings.txt | 10 + .../Output/DesignTime/InjectWithModel.cs | 150 +++-- .../DesignTime/InjectWithModel.mappings.txt | 25 + .../Output/DesignTime/InjectWithSemicolon.cs | 186 ++++-- .../InjectWithSemicolon.mappings.txt | 45 ++ .../TestFiles/Output/DesignTime/Model.cs | 116 +++- .../Output/DesignTime/Model.mappings.txt | 5 + .../DesignTime/ModelExpressionTagHelper.cs | 144 +++-- .../ModelExpressionTagHelper.mappings.txt | 40 ++ .../Output/DesignTime/MultipleModels.cs | 120 +++- .../DesignTime/MultipleModels.mappings.txt | 10 + .../Output/DesignTime/_ViewImports.cs | 126 +++- .../DesignTime/_ViewImports.mappings.txt | 10 + .../TestFiles/Output/Runtime/Basic.cs | 62 +- .../TestFiles/Output/Runtime/Inject.cs | 75 ++- .../Output/Runtime/InjectWithModel.cs | 66 +- .../Output/Runtime/InjectWithSemicolon.cs | 74 ++- .../TestFiles/Output/Runtime/Model.cs | 62 +- .../Runtime/ModelExpressionTagHelper.cs | 114 ++-- .../TestFiles/Output/Runtime/_ViewImports.cs | 66 +- .../xunit.runner.json | 3 + 29 files changed, 1561 insertions(+), 1084 deletions(-) create mode 100644 test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/LineMappingsSerializer.cs delete mode 100644 test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/MvcRazorHostTest.cs create mode 100644 test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/RazorEngineTest.cs create mode 100644 test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Basic.mappings.txt create mode 100644 test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Inject.mappings.txt create mode 100644 test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/InjectWithModel.mappings.txt create mode 100644 test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/InjectWithSemicolon.mappings.txt create mode 100644 test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Model.mappings.txt create mode 100644 test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/ModelExpressionTagHelper.mappings.txt create mode 100644 test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/MultipleModels.mappings.txt create mode 100644 test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/_ViewImports.mappings.txt create mode 100644 test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/xunit.runner.json diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/LineMappingsSerializer.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/LineMappingsSerializer.cs new file mode 100644 index 0000000000..776f301d5b --- /dev/null +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/LineMappingsSerializer.cs @@ -0,0 +1,54 @@ +// 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; +using System.Text; +using Microsoft.AspNetCore.Razor.Evolution; + +namespace Microsoft.AspNetCore.Mvc.Razor +{ + public static class LineMappingsSerializer + { + public static string Serialize(RazorCSharpDocument csharpDocument, RazorSourceDocument sourceDocument) + { + var builder = new StringBuilder(); + var sourceFileName = sourceDocument.FileName; + var charBuffer = new char[sourceDocument.Length]; + sourceDocument.CopyTo(0, charBuffer, 0, sourceDocument.Length); + var sourceContent = new string(charBuffer); + + for (var i = 0; i < csharpDocument.LineMappings.Count; i++) + { + var lineMapping = csharpDocument.LineMappings[i]; + if (!string.Equals(lineMapping.OriginalSpan.FilePath, sourceFileName, StringComparison.Ordinal)) + { + continue; + } + + builder.Append("Source Location: "); + AppendMappingLocation(builder, lineMapping.OriginalSpan, sourceContent); + + builder.Append("Generated Location: "); + AppendMappingLocation(builder, lineMapping.GeneratedSpan, csharpDocument.GeneratedCode); + + builder.AppendLine(); + } + + return builder.ToString(); + } + + private static void AppendMappingLocation(StringBuilder builder, SourceSpan location, string content) + { + builder + .AppendLine(location.ToString()) + .Append("|"); + + for (var i = 0; i < location.Length; i++) + { + builder.Append(content[location.AbsoluteIndex + i]); + } + + builder.AppendLine("|"); + } + } +} diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/Microsoft.AspNetCore.Mvc.Razor.Host.Test.csproj b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/Microsoft.AspNetCore.Mvc.Razor.Host.Test.csproj index fbcb5d879f..9980dc1556 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/Microsoft.AspNetCore.Mvc.Razor.Host.Test.csproj +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/Microsoft.AspNetCore.Mvc.Razor.Host.Test.csproj @@ -5,6 +5,7 @@ netcoreapp1.1;net452 netcoreapp1.1 + true $(DefineConstants);GENERATE_BASELINES $(DefineConstants);__RemoveThisBitTo__GENERATE_BASELINES $(DefaultItemExcludes);TestFiles\** @@ -12,6 +13,7 @@ + diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/MvcRazorHostTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/MvcRazorHostTest.cs deleted file mode 100644 index baaeef4314..0000000000 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/MvcRazorHostTest.cs +++ /dev/null @@ -1,583 +0,0 @@ -// 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; -using System.Collections.Generic; -#if GENERATE_BASELINES -using System.IO; -using System.Linq; -#endif -using System.Reflection; -#if GENERATE_BASELINES -using System.Text; -#endif -using Microsoft.AspNetCore.Mvc.Razor.Internal; -using Microsoft.AspNetCore.Razor; -using Microsoft.AspNetCore.Razor.Chunks.Generators; -using Microsoft.AspNetCore.Razor.CodeGenerators; -using Microsoft.AspNetCore.Razor.Parser; -using Microsoft.AspNetCore.Razor.Runtime.TagHelpers; -using Microsoft.AspNetCore.Testing; -using Xunit; - -namespace Microsoft.AspNetCore.Mvc.Razor -{ - public class MvcRazorHostTest - { - -#if OLD_RAZOR - private static Assembly _assembly = typeof(MvcRazorHostTest).GetTypeInfo().Assembly; - - public static TheoryData NormalizeChunkInheritanceUtilityPaths_Data - { - get - { - var data = new TheoryData { "//" }; - - // The following scenarios are only relevant on Windows. - if (TestPlatformHelper.IsWindows) - { - data.Add("C:/"); - data.Add(@"\\"); - data.Add(@"C:\"); - } - - return data; - } - } - - [Theory] - [MemberData(nameof(NormalizeChunkInheritanceUtilityPaths_Data))] - public void DecorateRazorParser_DesignTimeRazorPathNormalizer_NormalizesChunkInheritanceUtilityPaths( - string rootPrefix) - { - // Arrange - var rootedAppPath = $"{rootPrefix}SomeComputer/Location/Project/"; - var rootedFilePath = $"{rootPrefix}SomeComputer/Location/Project/src/file.cshtml"; - var chunkTreeCache = new DefaultChunkTreeCache(new TestFileProvider()); - var host = new MvcRazorHost( - chunkTreeCache, - pathNormalizer: new DesignTimeRazorPathNormalizer(rootedAppPath)); - - var parser = new RazorParser( - host.CodeLanguage.CreateCodeParser(), - host.CreateMarkupParser(), - tagHelperDescriptorResolver: null); - var chunkInheritanceUtility = new PathValidatingChunkInheritanceUtility(host, chunkTreeCache); - host.ChunkInheritanceUtility = chunkInheritanceUtility; - - // Act - host.DecorateRazorParser(parser, rootedFilePath); - - // Assert - Assert.Equal("src/file.cshtml", chunkInheritanceUtility.InheritedChunkTreePagePath, StringComparer.Ordinal); - } - - [Theory] - [MemberData(nameof(NormalizeChunkInheritanceUtilityPaths_Data))] - public void DecorateCodeGenerator_DesignTimeRazorPathNormalizer_NormalizesChunkInheritanceUtilityPaths( - string rootPrefix) - { - // Arrange - var rootedAppPath = $"{rootPrefix}SomeComputer/Location/Project/"; - var rootedFilePath = $"{rootPrefix}SomeComputer/Location/Project/src/file.cshtml"; - var chunkTreeCache = new DefaultChunkTreeCache(new TestFileProvider()); - var host = new MvcRazorHost( - chunkTreeCache, - pathNormalizer: new DesignTimeRazorPathNormalizer(rootedAppPath)); - - var chunkInheritanceUtility = new PathValidatingChunkInheritanceUtility(host, chunkTreeCache); - var codeGeneratorContext = new CodeGeneratorContext( - new ChunkGeneratorContext( - host, - host.DefaultClassName, - host.DefaultNamespace, - rootedFilePath, - shouldGenerateLinePragmas: true), - new ErrorSink()); - var codeGenerator = new CSharpCodeGenerator(codeGeneratorContext); - host.ChunkInheritanceUtility = chunkInheritanceUtility; - - // Act - host.DecorateCodeGenerator(codeGenerator, codeGeneratorContext); - - // Assert - Assert.Equal("src/file.cshtml", chunkInheritanceUtility.InheritedChunkTreePagePath, StringComparer.Ordinal); - } - - [Fact] - public void MvcRazorHost_GeneratesTagHelperModelExpressionCode_DesignTime() - { - // Arrange - var fileProvider = new TestFileProvider(); - var host = new MvcRazorHostWithNormalizedNewLine(new DefaultChunkTreeCache(fileProvider)) - { - DesignTimeMode = true - }; - - var expectedLineMappings = new[] - { - BuildLineMapping( - documentAbsoluteIndex: 33, - documentLineIndex: 2, - documentCharacterIndex: 14, - generatedAbsoluteIndex: 654, - generatedLineIndex: 17, - generatedCharacterIndex: 48, - contentLength: 91), - BuildLineMapping( - documentAbsoluteIndex: 140, - documentLineIndex: 3, - documentCharacterIndex: 14, - generatedAbsoluteIndex: 797, - generatedLineIndex: 18, - generatedCharacterIndex: 48, - contentLength: 102), - BuildLineMapping( - documentAbsoluteIndex: 7, - documentLineIndex: 0, - documentCharacterIndex: 7, - generatedAbsoluteIndex: 990, - generatedLineIndex: 20, - generatedCharacterIndex: 28, - contentLength: 8), - BuildLineMapping( - documentAbsoluteIndex: 263, - documentLineIndex: 5, - documentCharacterIndex: 17, - generatedAbsoluteIndex: 2841, - generatedLineIndex: 52, - generatedCharacterIndex: 133, - contentLength: 3), - BuildLineMapping( - documentAbsoluteIndex: 290, - documentLineIndex: 6, - documentCharacterIndex: 18, - generatedAbsoluteIndex: 3208, - generatedLineIndex: 58, - generatedCharacterIndex: 125, - contentLength: 5), - BuildLineMapping( - documentAbsoluteIndex: 322, - documentLineIndex: 8, - documentCharacterIndex: 19, - generatedAbsoluteIndex: 3627, - generatedLineIndex: 64, - generatedCharacterIndex: 153, - contentLength: 5), - BuildLineMapping( - documentAbsoluteIndex: 357, - documentLineIndex: 9, - documentCharacterIndex: 19, - generatedAbsoluteIndex: 4055, - generatedLineIndex: 70, - generatedCharacterIndex: 161, - contentLength: 4), - BuildLineMapping( - documentAbsoluteIndex: 378, - documentLineIndex: 9, - documentCharacterIndex: 40, - generatedAbsoluteIndex: 4317, - generatedLineIndex: 75, - generatedCharacterIndex: 163, - contentLength: 6), - }; - - // Act and Assert - RunDesignTimeTest( - host, - testName: "ModelExpressionTagHelper", - expectedLineMappings: expectedLineMappings); - } - - [Theory] - [InlineData("Basic")] - [InlineData("_ViewImports")] - [InlineData("Inject")] - [InlineData("InjectWithModel")] - [InlineData("InjectWithSemicolon")] - [InlineData("Model")] - [InlineData("ModelExpressionTagHelper")] - public void MvcRazorHost_ParsesAndGeneratesCodeForBasicScenarios(string scenarioName) - { - // Arrange - var fileProvider = new TestFileProvider(); - var host = new TestMvcRazorHost(new DefaultChunkTreeCache(fileProvider)); - - // Act and Assert - RunRuntimeTest(host, scenarioName); - } - - [Fact] - public void BasicVisitor_GeneratesCorrectLineMappings() - { - // Arrange - var fileProvider = new TestFileProvider(); - var host = new MvcRazorHostWithNormalizedNewLine(new DefaultChunkTreeCache(fileProvider)) - { - DesignTimeMode = true - }; - - host.NamespaceImports.Clear(); - var expectedLineMappings = new[] - { - BuildLineMapping( - documentAbsoluteIndex: 13, - documentLineIndex: 0, - documentCharacterIndex: 13, - generatedAbsoluteIndex: 1499, - generatedLineIndex: 34, - generatedCharacterIndex: 13, - contentLength: 4), - BuildLineMapping( - documentAbsoluteIndex: 43, - documentLineIndex: 2, - documentCharacterIndex: 5, - generatedAbsoluteIndex: 1583, - generatedLineIndex: 39, - generatedCharacterIndex: 6, - contentLength: 21), - }; - - - // Act and Assert - RunDesignTimeTest(host, "Basic", expectedLineMappings); - } - - [Fact] - public void MvcRazorHost_GeneratesCorrectLineMappingsAndUsingStatementsForViewImports() - { - // Arrange - var fileProvider = new TestFileProvider(); - var host = new MvcRazorHostWithNormalizedNewLine(new DefaultChunkTreeCache(fileProvider)) - { - DesignTimeMode = true - }; - - host.NamespaceImports.Clear(); - var expectedLineMappings = new[] - { - BuildLineMapping( - documentAbsoluteIndex: 8, - documentLineIndex: 0, - documentCharacterIndex: 8, - generatedAbsoluteIndex: 666, - generatedLineIndex: 21, - generatedCharacterIndex: 8, - contentLength: 26), - }; - - // Act and Assert - RunDesignTimeTest(host, "_ViewImports", expectedLineMappings); - } - - [Fact] - public void InjectVisitor_GeneratesCorrectLineMappings() - { - // Arrange - var fileProvider = new TestFileProvider(); - var host = new MvcRazorHostWithNormalizedNewLine(new DefaultChunkTreeCache(fileProvider)) - { - DesignTimeMode = true - }; - - host.NamespaceImports.Clear(); - var expectedLineMappings = new[] - { - BuildLineMapping( - documentAbsoluteIndex: 1, - documentLineIndex: 0, - documentCharacterIndex: 1, - generatedAbsoluteIndex: 66, - generatedLineIndex: 3, - generatedCharacterIndex: 0, - contentLength: 17), - BuildLineMapping( - documentAbsoluteIndex: 28, - documentLineIndex: 1, - documentCharacterIndex: 8, - generatedAbsoluteIndex: 711, - generatedLineIndex: 26, - generatedCharacterIndex: 8, - contentLength: 20), - }; - - // Act and Assert - RunDesignTimeTest(host, "Inject", expectedLineMappings); - } - - [Fact] - public void InjectVisitorWithModel_GeneratesCorrectLineMappings() - { - // Arrange - var fileProvider = new TestFileProvider(); - var host = new MvcRazorHostWithNormalizedNewLine(new DefaultChunkTreeCache(fileProvider)) - { - DesignTimeMode = true - }; - - host.NamespaceImports.Clear(); - var expectedLineMappings = new[] - { - BuildLineMapping( - documentAbsoluteIndex: 7, - documentLineIndex: 0, - documentCharacterIndex: 7, - generatedAbsoluteIndex: 397, - generatedLineIndex: 11, - generatedCharacterIndex: 28, - contentLength: 7), - BuildLineMapping( - documentAbsoluteIndex: 24, - documentLineIndex: 1, - documentCharacterIndex: 8, - generatedAbsoluteIndex: 760, - generatedLineIndex: 25, - generatedCharacterIndex: 8, - contentLength: 20), - BuildLineMapping( - documentAbsoluteIndex: 54, - documentLineIndex: 2, - documentCharacterIndex: 8, - generatedAbsoluteIndex: 990, - generatedLineIndex: 33, - generatedCharacterIndex: 8, - contentLength: 23), - }; - - // Act and Assert - RunDesignTimeTest(host, "InjectWithModel", expectedLineMappings); - } - - [Fact] - public void InjectVisitorWithSemicolon_GeneratesCorrectLineMappings() - { - // Arrange - var fileProvider = new TestFileProvider(); - var host = new MvcRazorHostWithNormalizedNewLine(new DefaultChunkTreeCache(fileProvider)) - { - DesignTimeMode = true - }; - - host.NamespaceImports.Clear(); - var expectedLineMappings = new[] - { - BuildLineMapping( - documentAbsoluteIndex: 7, - documentLineIndex: 0, - documentCharacterIndex: 7, - generatedAbsoluteIndex: 405, - generatedLineIndex: 11, - generatedCharacterIndex: 28, - contentLength: 7), - BuildLineMapping( - documentAbsoluteIndex: 24, - documentLineIndex: 1, - documentCharacterIndex: 8, - generatedAbsoluteIndex: 776, - generatedLineIndex: 25, - generatedCharacterIndex: 8, - contentLength: 20), - BuildLineMapping( - documentAbsoluteIndex: 58, - documentLineIndex: 2, - documentCharacterIndex: 8, - generatedAbsoluteIndex: 1010, - generatedLineIndex: 33, - generatedCharacterIndex: 8, - contentLength: 23), - BuildLineMapping( - documentAbsoluteIndex: 93, - documentLineIndex: 3, - documentCharacterIndex: 8, - generatedAbsoluteIndex: 1247, - generatedLineIndex: 41, - generatedCharacterIndex: 8, - contentLength: 21), - BuildLineMapping( - documentAbsoluteIndex: 129, - documentLineIndex: 4, - documentCharacterIndex: 8, - generatedAbsoluteIndex: 1482, - generatedLineIndex: 49, - generatedCharacterIndex: 8, - contentLength: 24), - }; - - // Act and Assert - RunDesignTimeTest(host, "InjectWithSemicolon", expectedLineMappings); - } - - [Fact] - public void ModelVisitor_GeneratesCorrectLineMappings() - { - // Arrange - var fileProvider = new TestFileProvider(); - var host = new MvcRazorHostWithNormalizedNewLine(new DefaultChunkTreeCache(fileProvider)) - { - DesignTimeMode = true - }; - host.NamespaceImports.Clear(); - var expectedLineMappings = new[] - { - BuildLineMapping( - documentAbsoluteIndex: 7, - documentLineIndex: 0, - documentCharacterIndex: 7, - generatedAbsoluteIndex: 400, - generatedLineIndex: 11, - generatedCharacterIndex: 28, - contentLength: 30), - }; - - // Act and Assert - RunDesignTimeTest(host, "Model", expectedLineMappings); - } - - [Fact] - public void ModelVisitor_GeneratesLineMappingsForLastModel_WhenMultipleModelsArePresent() - { - // Arrange - var fileProvider = new TestFileProvider(); - var host = new MvcRazorHostWithNormalizedNewLine(new DefaultChunkTreeCache(fileProvider)) - { - DesignTimeMode = true - }; - - host.NamespaceImports.Clear(); - var inputFile = "TestFiles/Input/MultipleModels.cshtml"; - var outputFile = "TestFiles/Output/DesignTime/MultipleModels.cs"; - var expectedCode = ResourceFile.ReadResource(_assembly, outputFile, sourceFile: false); - - // Act - GeneratorResults results; - using (var stream = ResourceFile.GetResourceStream(_assembly, inputFile, sourceFile: true)) - { - results = host.GenerateCode(inputFile, stream); - } - - // Assert - Assert.False(results.Success); - var parserError = Assert.Single(results.ParserErrors); - Assert.Equal("Only one 'model' statement is allowed in a file.", parserError.Message); -#if GENERATE_BASELINES - ResourceFile.UpdateFile(_assembly, outputFile, expectedCode, results.GeneratedCode); -#else - Assert.Equal(expectedCode, results.GeneratedCode, ignoreLineEndingDifferences: true); -#endif - } - - private static void RunRuntimeTest( - MvcRazorHost host, - string testName) - { - var inputFile = "TestFiles/Input/" + testName + ".cshtml"; - var outputFile = "TestFiles/Output/Runtime/" + testName + ".cs"; - var expectedCode = ResourceFile.ReadResource(_assembly, outputFile, sourceFile: false); - - // Act - GeneratorResults results; - using (var stream = ResourceFile.GetResourceStream(_assembly, inputFile, sourceFile: true)) - { - results = host.GenerateCode(inputFile, stream); - } - - // Assert - Assert.True(results.Success); - Assert.Empty(results.ParserErrors); - -#if GENERATE_BASELINES - ResourceFile.UpdateFile(_assembly, outputFile, expectedCode, results.GeneratedCode); -#else - Assert.Equal(expectedCode, results.GeneratedCode, ignoreLineEndingDifferences: true); -#endif - } - - private static void RunDesignTimeTest( - MvcRazorHost host, - string testName, - IEnumerable expectedLineMappings) - { - var inputFile = "TestFiles/Input/" + testName + ".cshtml"; - var outputFile = "TestFiles/Output/DesignTime/" + testName + ".cs"; - var expectedCode = ResourceFile.ReadResource(_assembly, outputFile, sourceFile: false); - - // Act - GeneratorResults results; - using (var stream = ResourceFile.GetResourceStream(_assembly, inputFile, sourceFile: true)) - { - // VS tooling passes in paths in all lower case. We'll mimic this behavior in our tests. - results = host.GenerateCode(inputFile.ToLowerInvariant(), stream); - } - - // Assert - Assert.True(results.Success); - Assert.Empty(results.ParserErrors); - -#if GENERATE_BASELINES - ResourceFile.UpdateFile(_assembly, outputFile, expectedCode, results.GeneratedCode); - - Assert.NotNull(results.DesignTimeLineMappings); // Guard - if (expectedLineMappings == null || - !Enumerable.SequenceEqual(expectedLineMappings, results.DesignTimeLineMappings)) - { - var lineMappings = new StringBuilder(); - lineMappings.AppendLine($"// !!! Do not check in. Instead paste content into test method. !!!"); - lineMappings.AppendLine(); - - var indent = " "; - lineMappings.AppendLine($"{ indent }var expectedLineMappings = new[]"); - lineMappings.AppendLine($"{ indent }{{"); - foreach (var lineMapping in results.DesignTimeLineMappings) - { - var innerIndent = indent + " "; - var documentLocation = lineMapping.DocumentLocation; - var generatedLocation = lineMapping.GeneratedLocation; - lineMappings.AppendLine($"{ innerIndent }{ nameof(BuildLineMapping) }("); - - innerIndent += " "; - lineMappings.AppendLine($"{ innerIndent }documentAbsoluteIndex: { documentLocation.AbsoluteIndex },"); - lineMappings.AppendLine($"{ innerIndent }documentLineIndex: { documentLocation.LineIndex },"); - lineMappings.AppendLine($"{ innerIndent }documentCharacterIndex: { documentLocation.CharacterIndex },"); - lineMappings.AppendLine($"{ innerIndent }generatedAbsoluteIndex: { generatedLocation.AbsoluteIndex },"); - lineMappings.AppendLine($"{ innerIndent }generatedLineIndex: { generatedLocation.LineIndex },"); - lineMappings.AppendLine($"{ innerIndent }generatedCharacterIndex: { generatedLocation.CharacterIndex },"); - lineMappings.AppendLine($"{ innerIndent }contentLength: { generatedLocation.ContentLength }),"); - } - - lineMappings.AppendLine($"{ indent }}};"); - - var lineMappingFile = Path.ChangeExtension(outputFile, "lineMappings.cs"); - ResourceFile.UpdateFile(_assembly, lineMappingFile, previousContent: null, content: lineMappings.ToString()); - } -#else - Assert.Equal(expectedCode, results.GeneratedCode, ignoreLineEndingDifferences: true); - Assert.Equal(expectedLineMappings, results.DesignTimeLineMappings); -#endif - } - - private static LineMapping BuildLineMapping( - int documentAbsoluteIndex, - int documentLineIndex, - int documentCharacterIndex, - int generatedAbsoluteIndex, - int generatedLineIndex, - int generatedCharacterIndex, - int contentLength) - { - var documentLocation = new SourceLocation( - documentAbsoluteIndex, - documentLineIndex, - documentCharacterIndex); - var generatedLocation = new SourceLocation( - generatedAbsoluteIndex, - generatedLineIndex, - generatedCharacterIndex); - - return new LineMapping( - documentLocation: new MappingLocation(documentLocation, contentLength), - generatedLocation: new MappingLocation(generatedLocation, contentLength)); - } -#endif - } -} \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/RazorEngineTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/RazorEngineTest.cs new file mode 100644 index 0000000000..d3fc2afb13 --- /dev/null +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/RazorEngineTest.cs @@ -0,0 +1,236 @@ +// 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.Linq; +using System.Reflection; +using Microsoft.AspNetCore.Mvc.Razor.Host; +using Microsoft.AspNetCore.Mvc.Razor.Internal; +using Microsoft.AspNetCore.Razor.Evolution; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.Razor; +using Microsoft.Extensions.DependencyModel; +using Microsoft.Extensions.FileProviders; +using Moq; +using Xunit; + +namespace Microsoft.AspNetCore.Mvc.Razor +{ + public class RazorEngineTest + { + private static Assembly _assembly = typeof(RazorEngineTest).GetTypeInfo().Assembly; + + #region Runtime + [Fact] + public void RazorEngine_Basic_Runtime() + { + RunRuntimeTest("Basic"); + } + + [Fact] + public void RazorEngine_ViewImports_Runtime() + { + RunRuntimeTest("_ViewImports"); + } + + [Fact] + public void RazorEngine_Inject_Runtime() + { + RunRuntimeTest("Inject"); + } + + [Fact] + public void RazorEngine_InjectWithModel_Runtime() + { + RunRuntimeTest("InjectWithModel"); + } + + [Fact] + public void RazorEngine_InjectWithSemicolon_Runtime() + { + RunRuntimeTest("InjectWithSemicolon"); + } + + [Fact] + public void RazorEngine_Model_Runtime() + { + RunRuntimeTest("Model"); + } + + [Fact] + public void RazorEngine_ModelExpressionTagHelper_Runtime() + { + RunRuntimeTest("ModelExpressionTagHelper"); + } + #endregion + + #region DesignTime + [Fact] + public void RazorEngine_Basic_DesignTime() + { + RunDesignTimeTest("Basic"); + } + + [Fact] + public void RazorEngine_ViewImports_DesignTime() + { + RunDesignTimeTest("_ViewImports"); + } + + [Fact] + public void RazorEngine_Inject_DesignTime() + { + RunDesignTimeTest("Inject"); + } + + [Fact] + public void RazorEngine_InjectWithModel_DesignTime() + { + RunDesignTimeTest("InjectWithModel"); + } + + [Fact] + public void RazorEngine_InjectWithSemicolon_DesignTime() + { + RunDesignTimeTest("InjectWithSemicolon"); + } + + [Fact] + public void RazorEngine_Model_DesignTime() + { + RunDesignTimeTest("Model"); + } + + [Fact] + public void RazorEngine_MultipleModels_DesignTime() + { + RunDesignTimeTest("MultipleModels"); + } + + [Fact] + public void RazorEngine_ModelExpressionTagHelper_DesignTime() + { + RunDesignTimeTest("ModelExpressionTagHelper"); + } + #endregion + + private static void RunRuntimeTest(string testName) + { + // Arrange + var inputFile = "TestFiles/Input/" + testName + ".cshtml"; + var outputFile = "TestFiles/Output/Runtime/" + testName + ".cs"; + var expectedCode = ResourceFile.ReadResource(_assembly, outputFile, sourceFile: false); + + var engine = RazorEngine.Create(b => + { + InjectDirective.Register(b); + ModelDirective.Register(b); + + b.AddTargetExtension(new InjectDirectiveTargetExtension()); + + b.Features.Add(new ModelExpressionPass()); + b.Features.Add(new MvcViewDocumentClassifierPass()); + b.Features.Add(new DefaultInstrumentationPass()); + + b.Features.Add(new DefaultTagHelperFeature()); + b.Features.Add(GetMetadataReferenceFeature()); + }); + + var inputContent = ResourceFile.ReadResource(_assembly, inputFile, sourceFile: true); + var fileProvider = new TestFileProvider(); + fileProvider.AddFile(inputFile, inputContent); + var fileInfo = fileProvider.GetFileInfo(inputFile); + var razorTemplateEngine = new MvcRazorTemplateEngine(engine, GetRazorProject(fileProvider)); + var razorProjectItem = new DefaultRazorProjectItem(fileInfo, basePath: null, path: inputFile); + var codeDocument = razorTemplateEngine.CreateCodeDocument(razorProjectItem); + codeDocument.Items["SuppressUniqueIds"] = "test"; + + // Act + var csharpDocument = razorTemplateEngine.GenerateCode(codeDocument); + + // Assert + Assert.Empty(csharpDocument.Diagnostics); + +#if GENERATE_BASELINES + ResourceFile.UpdateFile(_assembly, outputFile, expectedCode, csharpDocument.GeneratedCode); +#else + Assert.Equal(expectedCode, csharpDocument.GeneratedCode, ignoreLineEndingDifferences: true); +#endif + } + + private static void RunDesignTimeTest(string testName) + { + // Arrange + var inputFile = "TestFiles/Input/" + testName + ".cshtml"; + var outputFile = "TestFiles/Output/DesignTime/" + testName + ".cs"; + var expectedCode = ResourceFile.ReadResource(_assembly, outputFile, sourceFile: false); + + var lineMappingOutputFile = "TestFiles/Output/DesignTime/" + testName + ".mappings.txt"; + var expectedMappings = ResourceFile.ReadResource(_assembly, lineMappingOutputFile, sourceFile: false); + + var engine = RazorEngine.CreateDesignTime(b => + { + InjectDirective.Register(b); + ModelDirective.Register(b); + + b.AddTargetExtension(new InjectDirectiveTargetExtension()); + + b.Features.Add(new ModelExpressionPass()); + b.Features.Add(new MvcViewDocumentClassifierPass()); + + b.Features.Add(new DefaultTagHelperFeature()); + b.Features.Add(GetMetadataReferenceFeature()); + }); + + var inputContent = ResourceFile.ReadResource(_assembly, inputFile, sourceFile: true); + var fileProvider = new TestFileProvider(); + fileProvider.AddFile(inputFile, inputContent); + var fileInfo = fileProvider.GetFileInfo(inputFile); + var razorTemplateEngine = new MvcRazorTemplateEngine(engine, GetRazorProject(fileProvider)); + var razorProjectItem = new DefaultRazorProjectItem(fileInfo, basePath: null, path: inputFile); + var codeDocument = razorTemplateEngine.CreateCodeDocument(razorProjectItem); + codeDocument.Items["SuppressUniqueIds"] = "test"; + + // Act + var csharpDocument = razorTemplateEngine.GenerateCode(codeDocument); + + // Assert + Assert.Empty(csharpDocument.Diagnostics); + + var serializedMappings = LineMappingsSerializer.Serialize(csharpDocument, codeDocument.Source); + +#if GENERATE_BASELINES + ResourceFile.UpdateFile(_assembly, outputFile, expectedCode, csharpDocument.GeneratedCode); + ResourceFile.UpdateFile(_assembly, lineMappingOutputFile, expectedMappings, serializedMappings); +#else + Assert.Equal(expectedCode, csharpDocument.GeneratedCode, ignoreLineEndingDifferences: true); + Assert.Equal(expectedMappings, serializedMappings, ignoreLineEndingDifferences: true); +#endif + } + + private static IRazorEngineFeature GetMetadataReferenceFeature() + { + var currentAssembly = typeof(RazorEngineTest).GetTypeInfo().Assembly; + var dependencyContext = DependencyContext.Load(currentAssembly); + + var references = dependencyContext.CompileLibraries.SelectMany(l => l.ResolveReferencePaths()) + .Select(assemblyPath => MetadataReference.CreateFromFile(assemblyPath)) + .ToList(); + + var feature = new DefaultMetadataReferenceFeature() + { + References = references, + }; + + return feature; + } + + private static DefaultRazorProject GetRazorProject(IFileProvider fileProvider) + { + var fileProviderAccessor = new Mock(); + fileProviderAccessor.SetupGet(f => f.FileProvider) + .Returns(fileProvider); + + return new DefaultRazorProject(fileProviderAccessor.Object); + } + } +} \ No newline at end of file diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Input/MultipleModels.cshtml b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Input/MultipleModels.cshtml index 0a05b3030d..350f93b776 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Input/MultipleModels.cshtml +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Input/MultipleModels.cshtml @@ -1,2 +1,2 @@ -@model ThisShouldNotBeGenerated +@model ThisShouldBeGenerated @model System.Collections.IEnumerable diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Basic.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Basic.cs index 041eec152c..7f731d1143 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Basic.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Basic.cs @@ -1,47 +1,108 @@ namespace AspNetCore { + #line hidden + using System; using System.Threading.Tasks; +#line 2 "" +using System.Linq; - public class testfiles_input_basic_cshtml : Microsoft.AspNetCore.Mvc.Razor.RazorPage +#line default +#line hidden +#line 3 "" +using System.Collections.Generic; + +#line default +#line hidden +#line 4 "" +using Microsoft.AspNetCore.Mvc; + +#line default +#line hidden +#line 5 "" +using Microsoft.AspNetCore.Mvc.Rendering; + +#line default +#line hidden +#line 6 "" +using Microsoft.AspNetCore.Mvc.ViewFeatures; + +#line default +#line hidden + public class TestFiles_Input_Basic_cshtml : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage { - private static object @__o; - private void @__RazorDesignTimeHelpers__() - { - #pragma warning disable 219 - #pragma warning restore 219 + #pragma warning disable 219 + private void __RazorDirectiveTokenHelpers__() { + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper __typeHelper = null; } - #line hidden - public testfiles_input_basic_cshtml() - { + ))(); + ((System.Action)(() => { +System.Object Html = null; } - #line hidden - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } - - #line hidden - + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Json = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.IViewComponentHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Component = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.IUrlHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Url = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object ModelExpressionProvider = null; + } + ))(); + ((System.Action)(() => { +System.Object __typeHelper = "Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper, Microsoft.AspNetCore.Mvc.Razor"; + } + ))(); + } + #pragma warning restore 219 + private static System.Object __o = null; #pragma warning disable 1998 - public override async Task ExecuteAsync() + public async override global::System.Threading.Tasks.Task ExecuteAsync() { -#line 1 "testfiles/input/basic.cshtml" +#line 1 "TestFiles/Input/Basic.cshtml" __o = logo; #line default #line hidden -#line 3 "testfiles/input/basic.cshtml" +#line 3 "TestFiles/Input/Basic.cshtml" __o = Html.Input("SomeKey"); #line default #line hidden } #pragma warning restore 1998 + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } } } diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Basic.mappings.txt b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Basic.mappings.txt new file mode 100644 index 0000000000..7d92c1a458 --- /dev/null +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Basic.mappings.txt @@ -0,0 +1,10 @@ +Source Location: (13:0,13 [4] TestFiles/Input/Basic.cshtml) +|logo| +Generated Location: (2329:85,13 [4] ) +|logo| + +Source Location: (43:2,5 [21] TestFiles/Input/Basic.cshtml) +|Html.Input("SomeKey")| +Generated Location: (2413:90,6 [21] ) +|Html.Input("SomeKey")| + diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Inject.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Inject.cs index 4afeb6dc16..b1eaddccf2 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Inject.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Inject.cs @@ -1,51 +1,113 @@ namespace AspNetCore { -#line 1 "testfiles/input/inject.cshtml" -using MyNamespace - -#line default -#line hidden - ; + #line hidden + using System; using System.Threading.Tasks; - - public class testfiles_input_inject_cshtml : Microsoft.AspNetCore.Mvc.Razor.RazorPage - { - private static object @__o; - private void @__RazorDesignTimeHelpers__() - { - #pragma warning disable 219 - #pragma warning restore 219 - } - #line hidden - public testfiles_input_inject_cshtml() - { - } - #line hidden - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public -#line 2 "testfiles/input/inject.cshtml" - MyApp MyPropertyName +#line 2 "" +using System.Linq; #line default #line hidden - { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } +#line 3 "" +using System.Collections.Generic; - #line hidden +#line default +#line hidden +#line 4 "" +using Microsoft.AspNetCore.Mvc; +#line default +#line hidden +#line 5 "" +using Microsoft.AspNetCore.Mvc.Rendering; + +#line default +#line hidden +#line 6 "" +using Microsoft.AspNetCore.Mvc.ViewFeatures; + +#line default +#line hidden +#line 1 "TestFiles/Input/Inject.cshtml" +using MyNamespace; + +#line default +#line hidden + public class TestFiles_Input_Inject_cshtml : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage + { + #pragma warning disable 219 + private void __RazorDirectiveTokenHelpers__() { + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Html = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Json = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.IViewComponentHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Component = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.IUrlHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Url = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object ModelExpressionProvider = null; + } + ))(); + ((System.Action)(() => { +System.Object __typeHelper = "Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper, Microsoft.AspNetCore.Mvc.Razor"; + } + ))(); + ((System.Action)(() => { +MyApp __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object MyPropertyName = null; + } + ))(); + } + #pragma warning restore 219 + private static System.Object __o = null; #pragma warning disable 1998 - public override async Task ExecuteAsync() + public async override global::System.Threading.Tasks.Task ExecuteAsync() { } #pragma warning restore 1998 + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public MyApp MyPropertyName { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } } } diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Inject.mappings.txt b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Inject.mappings.txt new file mode 100644 index 0000000000..b70d124e04 --- /dev/null +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Inject.mappings.txt @@ -0,0 +1,10 @@ +Source Location: (28:1,8 [5] TestFiles/Input/Inject.cshtml) +|MyApp| +Generated Location: (2174:84,0 [5] ) +|MyApp| + +Source Location: (34:1,14 [14] TestFiles/Input/Inject.cshtml) +|MyPropertyName| +Generated Location: (2276:88,14 [14] ) +|MyPropertyName| + diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/InjectWithModel.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/InjectWithModel.cs index 1c54bd90be..5c6b1cc223 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/InjectWithModel.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/InjectWithModel.cs @@ -1,56 +1,120 @@ namespace AspNetCore { + #line hidden + using System; using System.Threading.Tasks; +#line 2 "" +using System.Linq; - public class testfiles_input_injectwithmodel_cshtml : Microsoft.AspNetCore.Mvc.Razor.RazorPage +#line default +#line hidden +#line 3 "" +using System.Collections.Generic; + +#line default +#line hidden +#line 4 "" +using Microsoft.AspNetCore.Mvc; + +#line default +#line hidden +#line 5 "" +using Microsoft.AspNetCore.Mvc.Rendering; + +#line default +#line hidden +#line 6 "" +using Microsoft.AspNetCore.Mvc.ViewFeatures; + +#line default +#line hidden + public class TestFiles_Input_InjectWithModel_cshtml : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage { - private static object @__o; - private void @__RazorDesignTimeHelpers__() - { - #pragma warning disable 219 -#line 1 "testfiles/input/injectwithmodel.cshtml" -var __modelHelper = default(MyModel); - -#line default -#line hidden - #pragma warning restore 219 + #pragma warning disable 219 + private void __RazorDirectiveTokenHelpers__() { + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper __typeHelper = null; } - #line hidden - public testfiles_input_injectwithmodel_cshtml() - { + ))(); + ((System.Action)(() => { +System.Object Html = null; } - #line hidden - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public -#line 2 "testfiles/input/injectwithmodel.cshtml" - MyApp MyPropertyName - -#line default -#line hidden - { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public -#line 3 "testfiles/input/injectwithmodel.cshtml" - MyService Html - -#line default -#line hidden - { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } - - #line hidden - + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Json = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.IViewComponentHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Component = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.IUrlHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Url = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object ModelExpressionProvider = null; + } + ))(); + ((System.Action)(() => { +System.Object __typeHelper = "Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper, Microsoft.AspNetCore.Mvc.Razor"; + } + ))(); + ((System.Action)(() => { +MyModel __typeHelper = null; + } + ))(); + ((System.Action)(() => { +MyApp __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object MyPropertyName = null; + } + ))(); + ((System.Action)(() => { +MyService __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Html = null; + } + ))(); + } + #pragma warning restore 219 + private static System.Object __o = null; #pragma warning disable 1998 - public override async Task ExecuteAsync() + public async override global::System.Threading.Tasks.Task ExecuteAsync() { } #pragma warning restore 1998 + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public MyService Html { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public MyApp MyPropertyName { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } } } diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/InjectWithModel.mappings.txt b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/InjectWithModel.mappings.txt new file mode 100644 index 0000000000..afb241e019 --- /dev/null +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/InjectWithModel.mappings.txt @@ -0,0 +1,25 @@ +Source Location: (7:0,7 [7] TestFiles/Input/InjectWithModel.cshtml) +|MyModel| +Generated Location: (2091:79,0 [7] ) +|MyModel| + +Source Location: (24:1,8 [5] TestFiles/Input/InjectWithModel.cshtml) +|MyApp| +Generated Location: (2181:83,0 [5] ) +|MyApp| + +Source Location: (30:1,14 [14] TestFiles/Input/InjectWithModel.cshtml) +|MyPropertyName| +Generated Location: (2283:87,14 [14] ) +|MyPropertyName| + +Source Location: (54:2,8 [17] TestFiles/Input/InjectWithModel.cshtml) +|MyService| +Generated Location: (2367:91,0 [17] ) +|MyService| + +Source Location: (72:2,26 [4] TestFiles/Input/InjectWithModel.cshtml) +|Html| +Generated Location: (2481:95,14 [4] ) +|Html| + diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/InjectWithSemicolon.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/InjectWithSemicolon.cs index 1bb79406e0..e29dda4728 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/InjectWithSemicolon.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/InjectWithSemicolon.cs @@ -1,72 +1,140 @@ namespace AspNetCore { + #line hidden + using System; using System.Threading.Tasks; +#line 2 "" +using System.Linq; - public class testfiles_input_injectwithsemicolon_cshtml : Microsoft.AspNetCore.Mvc.Razor.RazorPage +#line default +#line hidden +#line 3 "" +using System.Collections.Generic; + +#line default +#line hidden +#line 4 "" +using Microsoft.AspNetCore.Mvc; + +#line default +#line hidden +#line 5 "" +using Microsoft.AspNetCore.Mvc.Rendering; + +#line default +#line hidden +#line 6 "" +using Microsoft.AspNetCore.Mvc.ViewFeatures; + +#line default +#line hidden + public class TestFiles_Input_InjectWithSemicolon_cshtml : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage { - private static object @__o; - private void @__RazorDesignTimeHelpers__() - { - #pragma warning disable 219 -#line 1 "testfiles/input/injectwithsemicolon.cshtml" -var __modelHelper = default(MyModel); - -#line default -#line hidden - #pragma warning restore 219 + #pragma warning disable 219 + private void __RazorDirectiveTokenHelpers__() { + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper __typeHelper = null; } - #line hidden - public testfiles_input_injectwithsemicolon_cshtml() - { + ))(); + ((System.Action)(() => { +System.Object Html = null; } - #line hidden - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public -#line 2 "testfiles/input/injectwithsemicolon.cshtml" - MyApp MyPropertyName - -#line default -#line hidden - { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public -#line 3 "testfiles/input/injectwithsemicolon.cshtml" - MyService Html - -#line default -#line hidden - { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public -#line 4 "testfiles/input/injectwithsemicolon.cshtml" - MyApp MyPropertyName2 - -#line default -#line hidden - { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public -#line 5 "testfiles/input/injectwithsemicolon.cshtml" - MyService Html2 - -#line default -#line hidden - { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } - - #line hidden - + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Json = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.IViewComponentHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Component = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.IUrlHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Url = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object ModelExpressionProvider = null; + } + ))(); + ((System.Action)(() => { +System.Object __typeHelper = "Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper, Microsoft.AspNetCore.Mvc.Razor"; + } + ))(); + ((System.Action)(() => { +MyModel __typeHelper = null; + } + ))(); + ((System.Action)(() => { +MyApp __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object MyPropertyName = null; + } + ))(); + ((System.Action)(() => { +MyService __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Html = null; + } + ))(); + ((System.Action)(() => { +MyApp __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object MyPropertyName2 = null; + } + ))(); + ((System.Action)(() => { +MyService __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Html2 = null; + } + ))(); + } + #pragma warning restore 219 + private static System.Object __o = null; #pragma warning disable 1998 - public override async Task ExecuteAsync() + public async override global::System.Threading.Tasks.Task ExecuteAsync() { } #pragma warning restore 1998 + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public MyService Html2 { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public MyApp MyPropertyName2 { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public MyService Html { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public MyApp MyPropertyName { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } } } diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/InjectWithSemicolon.mappings.txt b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/InjectWithSemicolon.mappings.txt new file mode 100644 index 0000000000..5a97d2ea5e --- /dev/null +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/InjectWithSemicolon.mappings.txt @@ -0,0 +1,45 @@ +Source Location: (7:0,7 [7] TestFiles/Input/InjectWithSemicolon.cshtml) +|MyModel| +Generated Location: (2095:79,0 [7] ) +|MyModel| + +Source Location: (24:1,8 [5] TestFiles/Input/InjectWithSemicolon.cshtml) +|MyApp| +Generated Location: (2185:83,0 [5] ) +|MyApp| + +Source Location: (30:1,14 [14] TestFiles/Input/InjectWithSemicolon.cshtml) +|MyPropertyName| +Generated Location: (2287:87,14 [14] ) +|MyPropertyName| + +Source Location: (58:2,8 [17] TestFiles/Input/InjectWithSemicolon.cshtml) +|MyService| +Generated Location: (2371:91,0 [17] ) +|MyService| + +Source Location: (76:2,26 [4] TestFiles/Input/InjectWithSemicolon.cshtml) +|Html| +Generated Location: (2485:95,14 [4] ) +|Html| + +Source Location: (93:3,8 [5] TestFiles/Input/InjectWithSemicolon.cshtml) +|MyApp| +Generated Location: (2559:99,0 [5] ) +|MyApp| + +Source Location: (99:3,14 [15] TestFiles/Input/InjectWithSemicolon.cshtml) +|MyPropertyName2| +Generated Location: (2661:103,14 [15] ) +|MyPropertyName2| + +Source Location: (129:4,8 [17] TestFiles/Input/InjectWithSemicolon.cshtml) +|MyService| +Generated Location: (2746:107,0 [17] ) +|MyService| + +Source Location: (147:4,26 [5] TestFiles/Input/InjectWithSemicolon.cshtml) +|Html2| +Generated Location: (2860:111,14 [5] ) +|Html2| + diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Model.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Model.cs index 68e7224f26..cc4902e48e 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Model.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Model.cs @@ -1,42 +1,102 @@ namespace AspNetCore { + #line hidden + using System; using System.Threading.Tasks; - - public class testfiles_input_model_cshtml : Microsoft.AspNetCore.Mvc.Razor.RazorPage - { - private static object @__o; - private void @__RazorDesignTimeHelpers__() - { - #pragma warning disable 219 -#line 1 "testfiles/input/model.cshtml" -var __modelHelper = default(System.Collections.IEnumerable); +#line 2 "" +using System.Linq; #line default #line hidden - #pragma warning restore 219 - } - #line hidden - public testfiles_input_model_cshtml() - { - } - #line hidden - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } +#line 3 "" +using System.Collections.Generic; - #line hidden +#line default +#line hidden +#line 4 "" +using Microsoft.AspNetCore.Mvc; +#line default +#line hidden +#line 5 "" +using Microsoft.AspNetCore.Mvc.Rendering; + +#line default +#line hidden +#line 6 "" +using Microsoft.AspNetCore.Mvc.ViewFeatures; + +#line default +#line hidden + public class TestFiles_Input_Model_cshtml : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage + { + #pragma warning disable 219 + private void __RazorDirectiveTokenHelpers__() { + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Html = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Json = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.IViewComponentHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Component = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.IUrlHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Url = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object ModelExpressionProvider = null; + } + ))(); + ((System.Action)(() => { +System.Object __typeHelper = "Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper, Microsoft.AspNetCore.Mvc.Razor"; + } + ))(); + ((System.Action)(() => { +System.Collections.IEnumerable __typeHelper = null; + } + ))(); + } + #pragma warning restore 219 + private static System.Object __o = null; #pragma warning disable 1998 - public override async Task ExecuteAsync() + public async override global::System.Threading.Tasks.Task ExecuteAsync() { } #pragma warning restore 1998 + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } } } diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Model.mappings.txt b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Model.mappings.txt new file mode 100644 index 0000000000..dec6abb9bd --- /dev/null +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/Model.mappings.txt @@ -0,0 +1,5 @@ +Source Location: (7:0,7 [30] TestFiles/Input/Model.cshtml) +|System.Collections.IEnumerable| +Generated Location: (2104:79,0 [30] ) +|System.Collections.IEnumerable| + diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/ModelExpressionTagHelper.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/ModelExpressionTagHelper.cs index 20017fff61..3a46d431fb 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/ModelExpressionTagHelper.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/ModelExpressionTagHelper.cs @@ -1,83 +1,141 @@ namespace AspNetCore { + #line hidden using System; - using System.Linq; - using System.Collections.Generic; - using Microsoft.AspNetCore.Mvc; - using Microsoft.AspNetCore.Mvc.Rendering; - using Microsoft.AspNetCore.Mvc.ViewFeatures; using System.Threading.Tasks; - - public class testfiles_input_modelexpressiontaghelper_cshtml : Microsoft.AspNetCore.Mvc.Razor.RazorPage - { - private static object @__o; - private void @__RazorDesignTimeHelpers__() - { - #pragma warning disable 219 - string __tagHelperDirectiveSyntaxHelper = null; - __tagHelperDirectiveSyntaxHelper = "Microsoft.AspNetCore.Mvc.Razor.InputTestTagHelper, Microsoft.AspNetCore.Mvc.Razor.Host.Test"; - __tagHelperDirectiveSyntaxHelper = "Microsoft.AspNetCore.Mvc.Razor.DictionaryPrefixTestTagHelper, Microsoft.AspNetCore.Mvc.Razor.Host.Test"; -#line 1 "testfiles/input/modelexpressiontaghelper.cshtml" -var __modelHelper = default(DateTime); +#line 2 "" +using System.Linq; #line default #line hidden - #pragma warning restore 219 +#line 3 "" +using System.Collections.Generic; + +#line default +#line hidden +#line 4 "" +using Microsoft.AspNetCore.Mvc; + +#line default +#line hidden +#line 5 "" +using Microsoft.AspNetCore.Mvc.Rendering; + +#line default +#line hidden +#line 6 "" +using Microsoft.AspNetCore.Mvc.ViewFeatures; + +#line default +#line hidden + public class TestFiles_Input_ModelExpressionTagHelper_cshtml : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage + { + #pragma warning disable 219 + private void __RazorDirectiveTokenHelpers__() { + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper __typeHelper = null; } - #line hidden + ))(); + ((System.Action)(() => { +System.Object Html = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Json = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.IViewComponentHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Component = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.IUrlHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Url = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object ModelExpressionProvider = null; + } + ))(); + ((System.Action)(() => { +System.Object __typeHelper = "Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper, Microsoft.AspNetCore.Mvc.Razor"; + } + ))(); + ((System.Action)(() => { +DateTime __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object __typeHelper = "Microsoft.AspNetCore.Mvc.Razor.InputTestTagHelper, Microsoft.AspNetCore.Mvc.Razor.Host.Test"; + } + ))(); + ((System.Action)(() => { +System.Object __typeHelper = "Microsoft.AspNetCore.Mvc.Razor.DictionaryPrefixTestTagHelper, Microsoft.AspNetCore.Mvc.Razor.Host.Test"; + } + ))(); + } + #pragma warning restore 219 + private static System.Object __o = null; private global::Microsoft.AspNetCore.Mvc.Razor.InputTestTagHelper __Microsoft_AspNetCore_Mvc_Razor_InputTestTagHelper = null; private global::Microsoft.AspNetCore.Mvc.Razor.DictionaryPrefixTestTagHelper __Microsoft_AspNetCore_Mvc_Razor_DictionaryPrefixTestTagHelper = null; - #line hidden - public testfiles_input_modelexpressiontaghelper_cshtml() - { - } - #line hidden - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } - - #line hidden - #pragma warning disable 1998 - public override async Task ExecuteAsync() + public async override global::System.Threading.Tasks.Task ExecuteAsync() { __Microsoft_AspNetCore_Mvc_Razor_InputTestTagHelper = CreateTagHelper(); -#line 6 "testfiles/input/modelexpressiontaghelper.cshtml" +#line 6 "TestFiles/Input/ModelExpressionTagHelper.cshtml" __Microsoft_AspNetCore_Mvc_Razor_InputTestTagHelper.For = ModelExpressionProvider.CreateModelExpression(ViewData, __model => __model.Now); #line default #line hidden __Microsoft_AspNetCore_Mvc_Razor_InputTestTagHelper = CreateTagHelper(); -#line 7 "testfiles/input/modelexpressiontaghelper.cshtml" +#line 7 "TestFiles/Input/ModelExpressionTagHelper.cshtml" __Microsoft_AspNetCore_Mvc_Razor_InputTestTagHelper.For = ModelExpressionProvider.CreateModelExpression(ViewData, __model => Model); #line default #line hidden __Microsoft_AspNetCore_Mvc_Razor_DictionaryPrefixTestTagHelper = CreateTagHelper(); -#line 9 "testfiles/input/modelexpressiontaghelper.cshtml" +#line 9 "TestFiles/Input/ModelExpressionTagHelper.cshtml" __Microsoft_AspNetCore_Mvc_Razor_DictionaryPrefixTestTagHelper.PrefixValues["test"] = ModelExpressionProvider.CreateModelExpression(ViewData, __model => Model); #line default #line hidden __Microsoft_AspNetCore_Mvc_Razor_DictionaryPrefixTestTagHelper = CreateTagHelper(); -#line 10 "testfiles/input/modelexpressiontaghelper.cshtml" +#line 10 "TestFiles/Input/ModelExpressionTagHelper.cshtml" __Microsoft_AspNetCore_Mvc_Razor_DictionaryPrefixTestTagHelper.PrefixValues["hour"] = ModelExpressionProvider.CreateModelExpression(ViewData, __model => __model.Hour); #line default #line hidden -#line 10 "testfiles/input/modelexpressiontaghelper.cshtml" +#line 10 "TestFiles/Input/ModelExpressionTagHelper.cshtml" __Microsoft_AspNetCore_Mvc_Razor_DictionaryPrefixTestTagHelper.PrefixValues["minute"] = ModelExpressionProvider.CreateModelExpression(ViewData, __model => __model.Minute); #line default #line hidden } #pragma warning restore 1998 + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } } } diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/ModelExpressionTagHelper.mappings.txt b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/ModelExpressionTagHelper.mappings.txt new file mode 100644 index 0000000000..9d6cf74fb2 --- /dev/null +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/ModelExpressionTagHelper.mappings.txt @@ -0,0 +1,40 @@ +Source Location: (7:0,7 [8] TestFiles/Input/ModelExpressionTagHelper.cshtml) +|DateTime| +Generated Location: (2101:79,0 [8] ) +|DateTime| + +Source Location: (33:2,14 [91] TestFiles/Input/ModelExpressionTagHelper.cshtml) +|Microsoft.AspNetCore.Mvc.Razor.InputTestTagHelper, Microsoft.AspNetCore.Mvc.Razor.Host.Test| +Generated Location: (2222:83,30 [91] ) +|Microsoft.AspNetCore.Mvc.Razor.InputTestTagHelper, Microsoft.AspNetCore.Mvc.Razor.Host.Test| + +Source Location: (140:3,14 [102] TestFiles/Input/ModelExpressionTagHelper.cshtml) +|Microsoft.AspNetCore.Mvc.Razor.DictionaryPrefixTestTagHelper, Microsoft.AspNetCore.Mvc.Razor.Host.Test| +Generated Location: (2407:87,30 [102] ) +|Microsoft.AspNetCore.Mvc.Razor.DictionaryPrefixTestTagHelper, Microsoft.AspNetCore.Mvc.Razor.Host.Test| + +Source Location: (263:5,17 [3] TestFiles/Input/ModelExpressionTagHelper.cshtml) +|Now| +Generated Location: (3397:100,133 [3] ) +|Now| + +Source Location: (290:6,18 [5] TestFiles/Input/ModelExpressionTagHelper.cshtml) +|Model| +Generated Location: (3764:106,125 [5] ) +|Model| + +Source Location: (322:8,19 [5] TestFiles/Input/ModelExpressionTagHelper.cshtml) +|Model| +Generated Location: (4183:112,153 [5] ) +|Model| + +Source Location: (357:9,19 [4] TestFiles/Input/ModelExpressionTagHelper.cshtml) +|Hour| +Generated Location: (4611:118,161 [4] ) +|Hour| + +Source Location: (378:9,40 [6] TestFiles/Input/ModelExpressionTagHelper.cshtml) +|Minute| +Generated Location: (4873:123,163 [6] ) +|Minute| + diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/MultipleModels.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/MultipleModels.cs index 7138402015..0cfb0ce347 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/MultipleModels.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/MultipleModels.cs @@ -1,42 +1,106 @@ namespace AspNetCore { + #line hidden + using System; using System.Threading.Tasks; - - public class TestFiles_Input_MultipleModels_cshtml : Microsoft.AspNetCore.Mvc.Razor.RazorPage - { - private static object @__o; - private void @__RazorDesignTimeHelpers__() - { - #pragma warning disable 219 -#line 2 "TestFiles/Input/MultipleModels.cshtml" -var __modelHelper = default(System.Collections.IEnumerable); +#line 2 "" +using System.Linq; #line default #line hidden - #pragma warning restore 219 - } - #line hidden - public TestFiles_Input_MultipleModels_cshtml() - { - } - #line hidden - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } +#line 3 "" +using System.Collections.Generic; - #line hidden +#line default +#line hidden +#line 4 "" +using Microsoft.AspNetCore.Mvc; +#line default +#line hidden +#line 5 "" +using Microsoft.AspNetCore.Mvc.Rendering; + +#line default +#line hidden +#line 6 "" +using Microsoft.AspNetCore.Mvc.ViewFeatures; + +#line default +#line hidden + public class TestFiles_Input_MultipleModels_cshtml : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage + { + #pragma warning disable 219 + private void __RazorDirectiveTokenHelpers__() { + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Html = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Json = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.IViewComponentHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Component = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.IUrlHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Url = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object ModelExpressionProvider = null; + } + ))(); + ((System.Action)(() => { +System.Object __typeHelper = "Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper, Microsoft.AspNetCore.Mvc.Razor"; + } + ))(); + ((System.Action)(() => { +ThisShouldBeGenerated __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Collections.IEnumerable __typeHelper = null; + } + ))(); + } + #pragma warning restore 219 + private static System.Object __o = null; #pragma warning disable 1998 - public override async Task ExecuteAsync() + public async override global::System.Threading.Tasks.Task ExecuteAsync() { } #pragma warning restore 1998 + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } } } diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/MultipleModels.mappings.txt b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/MultipleModels.mappings.txt new file mode 100644 index 0000000000..7beb9caff3 --- /dev/null +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/MultipleModels.mappings.txt @@ -0,0 +1,10 @@ +Source Location: (7:0,7 [21] TestFiles/Input/MultipleModels.cshtml) +|ThisShouldBeGenerated| +Generated Location: (2113:79,0 [21] ) +|ThisShouldBeGenerated| + +Source Location: (37:1,7 [30] TestFiles/Input/MultipleModels.cshtml) +|System.Collections.IEnumerable| +Generated Location: (2217:83,0 [30] ) +|System.Collections.IEnumerable| + diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/_ViewImports.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/_ViewImports.cs index 89505c9206..9fefa71a10 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/_ViewImports.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/_ViewImports.cs @@ -1,46 +1,108 @@ namespace AspNetCore { + #line hidden + using System; using System.Threading.Tasks; - - using TModel = System.Object; - public class testfiles_input__viewimports_cshtml : Microsoft.AspNetCore.Mvc.Razor.RazorPage - { - private static object @__o; - private void @__RazorDesignTimeHelpers__() - { - #pragma warning disable 219 - #pragma warning restore 219 - } - #line hidden - public testfiles_input__viewimports_cshtml() - { - } - #line hidden - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public -#line 1 "testfiles/input/_viewimports.cshtml" - IHtmlHelper Model +#line 2 "" +using System.Linq; #line default #line hidden - { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } +#line 3 "" +using System.Collections.Generic; - #line hidden +#line default +#line hidden +#line 4 "" +using Microsoft.AspNetCore.Mvc; +#line default +#line hidden +#line 5 "" +using Microsoft.AspNetCore.Mvc.Rendering; + +#line default +#line hidden +#line 6 "" +using Microsoft.AspNetCore.Mvc.ViewFeatures; + +#line default +#line hidden + public class TestFiles_Input__ViewImports_cshtml : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage + { + #pragma warning disable 219 + private void __RazorDirectiveTokenHelpers__() { + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Html = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Json = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.IViewComponentHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Component = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.IUrlHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Url = null; + } + ))(); + ((System.Action)(() => { +global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object ModelExpressionProvider = null; + } + ))(); + ((System.Action)(() => { +System.Object __typeHelper = "Microsoft.AspNetCore.Mvc.Razor.TagHelpers.UrlResolutionTagHelper, Microsoft.AspNetCore.Mvc.Razor"; + } + ))(); + ((System.Action)(() => { +IHtmlHelper __typeHelper = null; + } + ))(); + ((System.Action)(() => { +System.Object Model = null; + } + ))(); + } + #pragma warning restore 219 + private static System.Object __o = null; #pragma warning disable 1998 - public override async Task ExecuteAsync() + public async override global::System.Threading.Tasks.Task ExecuteAsync() { } #pragma warning restore 1998 + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public IHtmlHelper Model { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } } } diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/_ViewImports.mappings.txt b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/_ViewImports.mappings.txt new file mode 100644 index 0000000000..ba80b72bff --- /dev/null +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/DesignTime/_ViewImports.mappings.txt @@ -0,0 +1,10 @@ +Source Location: (8:0,8 [19] TestFiles/Input/_ViewImports.cshtml) +|IHtmlHelper| +Generated Location: (2088:79,0 [19] ) +|IHtmlHelper| + +Source Location: (28:0,28 [5] TestFiles/Input/_ViewImports.cshtml) +|Model| +Generated Location: (2204:83,14 [5] ) +|Model| + diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/Basic.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/Basic.cs index bc164ace89..cd5cc5dd3c 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/Basic.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/Basic.cs @@ -1,36 +1,38 @@ #pragma checksum "TestFiles/Input/Basic.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "54a70ff4c6d27ac6cdc6725cb6bab12012015729" namespace AspNetCore { + #line hidden using System; - using System.Linq; - using System.Collections.Generic; - using Microsoft.AspNetCore.Mvc; - using Microsoft.AspNetCore.Mvc.Rendering; - using Microsoft.AspNetCore.Mvc.ViewFeatures; using System.Threading.Tasks; +#line 2 "" +using System.Linq; - public class TestFiles_Input_Basic_cshtml : Microsoft.AspNetCore.Mvc.Razor.RazorPage +#line default +#line hidden +#line 3 "" +using System.Collections.Generic; + +#line default +#line hidden +#line 4 "" +using Microsoft.AspNetCore.Mvc; + +#line default +#line hidden +#line 5 "" +using Microsoft.AspNetCore.Mvc.Rendering; + +#line default +#line hidden +#line 6 "" +using Microsoft.AspNetCore.Mvc.ViewFeatures; + +#line default +#line hidden + public class TestFiles_Input_Basic_cshtml : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage { - #line hidden - public TestFiles_Input_Basic_cshtml() - { - } - #line hidden - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } - - #line hidden - #pragma warning disable 1998 - public override async Task ExecuteAsync() + public async override global::System.Threading.Tasks.Task ExecuteAsync() { BeginContext(0, 4, true); WriteLiteral(" Html { get; private set; } } } diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/Inject.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/Inject.cs index a1eaac9dea..266461a075 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/Inject.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/Inject.cs @@ -1,46 +1,57 @@ #pragma checksum "TestFiles/Input/Inject.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "225760ec3beca02a80469066fab66433e90ddc2e" namespace AspNetCore { -#line 1 "TestFiles/Input/Inject.cshtml" -using MyNamespace + #line hidden + using System; + using System.Threading.Tasks; +#line 2 "" +using System.Linq; #line default #line hidden - ; - using System; - using System.Linq; - using System.Collections.Generic; - using Microsoft.AspNetCore.Mvc; - using Microsoft.AspNetCore.Mvc.Rendering; - using Microsoft.AspNetCore.Mvc.ViewFeatures; - using System.Threading.Tasks; +#line 3 "" +using System.Collections.Generic; - public class TestFiles_Input_Inject_cshtml : Microsoft.AspNetCore.Mvc.Razor.RazorPage +#line default +#line hidden +#line 4 "" +using Microsoft.AspNetCore.Mvc; + +#line default +#line hidden +#line 5 "" +using Microsoft.AspNetCore.Mvc.Rendering; + +#line default +#line hidden +#line 6 "" +using Microsoft.AspNetCore.Mvc.ViewFeatures; + +#line default +#line hidden +#line 1 "TestFiles/Input/Inject.cshtml" +using MyNamespace; + +#line default +#line hidden + public class TestFiles_Input_Inject_cshtml : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage { - #line hidden - public TestFiles_Input_Inject_cshtml() - { - } - #line hidden - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public MyApp MyPropertyName { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } - - #line hidden - #pragma warning disable 1998 - public override async Task ExecuteAsync() + public async override global::System.Threading.Tasks.Task ExecuteAsync() { } #pragma warning restore 1998 + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public MyApp MyPropertyName { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } } } diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/InjectWithModel.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/InjectWithModel.cs index 1c433905e7..4f956682b6 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/InjectWithModel.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/InjectWithModel.cs @@ -1,40 +1,52 @@ #pragma checksum "TestFiles/Input/InjectWithModel.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "1f010500f93116162444110956e512df61642f4e" namespace AspNetCore { + #line hidden using System; - using System.Linq; - using System.Collections.Generic; - using Microsoft.AspNetCore.Mvc; - using Microsoft.AspNetCore.Mvc.Rendering; - using Microsoft.AspNetCore.Mvc.ViewFeatures; using System.Threading.Tasks; +#line 2 "" +using System.Linq; - public class TestFiles_Input_InjectWithModel_cshtml : Microsoft.AspNetCore.Mvc.Razor.RazorPage +#line default +#line hidden +#line 3 "" +using System.Collections.Generic; + +#line default +#line hidden +#line 4 "" +using Microsoft.AspNetCore.Mvc; + +#line default +#line hidden +#line 5 "" +using Microsoft.AspNetCore.Mvc.Rendering; + +#line default +#line hidden +#line 6 "" +using Microsoft.AspNetCore.Mvc.ViewFeatures; + +#line default +#line hidden + public class TestFiles_Input_InjectWithModel_cshtml : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage { - #line hidden - public TestFiles_Input_InjectWithModel_cshtml() - { - } - #line hidden - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public MyApp MyPropertyName { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public MyService Html { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } - - #line hidden - #pragma warning disable 1998 - public override async Task ExecuteAsync() + public async override global::System.Threading.Tasks.Task ExecuteAsync() { } #pragma warning restore 1998 + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public MyService Html { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public MyApp MyPropertyName { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } } } diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/InjectWithSemicolon.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/InjectWithSemicolon.cs index 234617c453..ba5f673d5e 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/InjectWithSemicolon.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/InjectWithSemicolon.cs @@ -1,44 +1,56 @@ #pragma checksum "TestFiles/Input/InjectWithSemicolon.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "fc807ec0dc76610bdca62f482fefd7f584348df9" namespace AspNetCore { + #line hidden using System; - using System.Linq; - using System.Collections.Generic; - using Microsoft.AspNetCore.Mvc; - using Microsoft.AspNetCore.Mvc.Rendering; - using Microsoft.AspNetCore.Mvc.ViewFeatures; using System.Threading.Tasks; +#line 2 "" +using System.Linq; - public class TestFiles_Input_InjectWithSemicolon_cshtml : Microsoft.AspNetCore.Mvc.Razor.RazorPage +#line default +#line hidden +#line 3 "" +using System.Collections.Generic; + +#line default +#line hidden +#line 4 "" +using Microsoft.AspNetCore.Mvc; + +#line default +#line hidden +#line 5 "" +using Microsoft.AspNetCore.Mvc.Rendering; + +#line default +#line hidden +#line 6 "" +using Microsoft.AspNetCore.Mvc.ViewFeatures; + +#line default +#line hidden + public class TestFiles_Input_InjectWithSemicolon_cshtml : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage { - #line hidden - public TestFiles_Input_InjectWithSemicolon_cshtml() - { - } - #line hidden - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public MyApp MyPropertyName { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public MyService Html { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public MyApp MyPropertyName2 { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public MyService Html2 { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } - - #line hidden - #pragma warning disable 1998 - public override async Task ExecuteAsync() + public async override global::System.Threading.Tasks.Task ExecuteAsync() { } #pragma warning restore 1998 + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public MyService Html2 { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public MyApp MyPropertyName2 { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public MyService Html { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public MyApp MyPropertyName { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } } } diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/Model.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/Model.cs index e8a7297767..e8ca2d7930 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/Model.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/Model.cs @@ -1,38 +1,50 @@ #pragma checksum "TestFiles/Input/Model.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "31c5b047a450ac9f6dc4116626667d26bfb657ba" namespace AspNetCore { + #line hidden using System; - using System.Linq; - using System.Collections.Generic; - using Microsoft.AspNetCore.Mvc; - using Microsoft.AspNetCore.Mvc.Rendering; - using Microsoft.AspNetCore.Mvc.ViewFeatures; using System.Threading.Tasks; +#line 2 "" +using System.Linq; - public class TestFiles_Input_Model_cshtml : Microsoft.AspNetCore.Mvc.Razor.RazorPage +#line default +#line hidden +#line 3 "" +using System.Collections.Generic; + +#line default +#line hidden +#line 4 "" +using Microsoft.AspNetCore.Mvc; + +#line default +#line hidden +#line 5 "" +using Microsoft.AspNetCore.Mvc.Rendering; + +#line default +#line hidden +#line 6 "" +using Microsoft.AspNetCore.Mvc.ViewFeatures; + +#line default +#line hidden + public class TestFiles_Input_Model_cshtml : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage { - #line hidden - public TestFiles_Input_Model_cshtml() - { - } - #line hidden - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } - - #line hidden - #pragma warning disable 1998 - public override async Task ExecuteAsync() + public async override global::System.Threading.Tasks.Task ExecuteAsync() { } #pragma warning restore 1998 + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } } } diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/ModelExpressionTagHelper.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/ModelExpressionTagHelper.cs index 65981e63c3..59c25f1d57 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/ModelExpressionTagHelper.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/ModelExpressionTagHelper.cs @@ -1,48 +1,62 @@ #pragma checksum "TestFiles/Input/ModelExpressionTagHelper.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "faaab08eebb321aea098bd40df018e89cd247b6f" namespace AspNetCore { + #line hidden using System; - using System.Linq; - using System.Collections.Generic; - using Microsoft.AspNetCore.Mvc; - using Microsoft.AspNetCore.Mvc.Rendering; - using Microsoft.AspNetCore.Mvc.ViewFeatures; using System.Threading.Tasks; +#line 2 "" +using System.Linq; - public class TestFiles_Input_ModelExpressionTagHelper_cshtml : Microsoft.AspNetCore.Mvc.Razor.RazorPage +#line default +#line hidden +#line 3 "" +using System.Collections.Generic; + +#line default +#line hidden +#line 4 "" +using Microsoft.AspNetCore.Mvc; + +#line default +#line hidden +#line 5 "" +using Microsoft.AspNetCore.Mvc.Rendering; + +#line default +#line hidden +#line 6 "" +using Microsoft.AspNetCore.Mvc.ViewFeatures; + +#line default +#line hidden + public class TestFiles_Input_ModelExpressionTagHelper_cshtml : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage { #line hidden #pragma warning disable 0414 private string __tagHelperStringValueBuffer = null; #pragma warning restore 0414 private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext = null; - private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = null; - private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager = null; + private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner(); + private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null; + private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager + { + get + { + if (__backed__tagHelperScopeManager == null) + { + __backed__tagHelperScopeManager = new Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope); + } + return __backed__tagHelperScopeManager; + } + } private global::Microsoft.AspNetCore.Mvc.Razor.InputTestTagHelper __Microsoft_AspNetCore_Mvc_Razor_InputTestTagHelper = null; private global::Microsoft.AspNetCore.Mvc.Razor.DictionaryPrefixTestTagHelper __Microsoft_AspNetCore_Mvc_Razor_DictionaryPrefixTestTagHelper = null; - #line hidden - public TestFiles_Input_ModelExpressionTagHelper_cshtml() - { - } - #line hidden - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } - - #line hidden - #pragma warning disable 1998 - public override async Task ExecuteAsync() + public async override global::System.Threading.Tasks.Task ExecuteAsync() { - __tagHelperRunner = __tagHelperRunner ?? new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner(); - __tagHelperScopeManager = __tagHelperScopeManager ?? new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope); + BeginContext(17, 2, true); + WriteLiteral("\r\n"); + EndContext(); BeginContext(244, 2, true); WriteLiteral("\r\n"); EndContext(); @@ -57,11 +71,15 @@ __Microsoft_AspNetCore_Mvc_Razor_InputTestTagHelper.For = ModelExpressionProvide #line default #line hidden __tagHelperExecutionContext.AddTagHelperAttribute("for", __Microsoft_AspNetCore_Mvc_Razor_InputTestTagHelper.For, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes); - await __tagHelperRunner.RunAsync(__tagHelperExecutionContext); BeginContext(246, 24, false); + await __tagHelperRunner.RunAsync(__tagHelperExecutionContext); + if (!__tagHelperExecutionContext.Output.IsContentModified) + { + await __tagHelperExecutionContext.SetOutputContentAsync(); + } Write(__tagHelperExecutionContext.Output); - EndContext(); __tagHelperExecutionContext = __tagHelperScopeManager.End(); + EndContext(); BeginContext(270, 2, true); WriteLiteral("\r\n"); EndContext(); @@ -76,11 +94,15 @@ __Microsoft_AspNetCore_Mvc_Razor_InputTestTagHelper.For = ModelExpressionProvide #line default #line hidden __tagHelperExecutionContext.AddTagHelperAttribute("for", __Microsoft_AspNetCore_Mvc_Razor_InputTestTagHelper.For, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes); - await __tagHelperRunner.RunAsync(__tagHelperExecutionContext); BeginContext(272, 27, false); + await __tagHelperRunner.RunAsync(__tagHelperExecutionContext); + if (!__tagHelperExecutionContext.Output.IsContentModified) + { + await __tagHelperExecutionContext.SetOutputContentAsync(); + } Write(__tagHelperExecutionContext.Output); - EndContext(); __tagHelperExecutionContext = __tagHelperScopeManager.End(); + EndContext(); BeginContext(299, 4, true); WriteLiteral("\r\n\r\n"); EndContext(); @@ -99,11 +121,15 @@ __Microsoft_AspNetCore_Mvc_Razor_DictionaryPrefixTestTagHelper.PrefixValues["tes #line default #line hidden __tagHelperExecutionContext.AddTagHelperAttribute("prefix-test", __Microsoft_AspNetCore_Mvc_Razor_DictionaryPrefixTestTagHelper.PrefixValues["test"], global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes); - await __tagHelperRunner.RunAsync(__tagHelperExecutionContext); BeginContext(303, 33, false); + await __tagHelperRunner.RunAsync(__tagHelperExecutionContext); + if (!__tagHelperExecutionContext.Output.IsContentModified) + { + await __tagHelperExecutionContext.SetOutputContentAsync(); + } Write(__tagHelperExecutionContext.Output); - EndContext(); __tagHelperExecutionContext = __tagHelperScopeManager.End(); + EndContext(); BeginContext(336, 2, true); WriteLiteral("\r\n"); EndContext(); @@ -128,12 +154,26 @@ __Microsoft_AspNetCore_Mvc_Razor_DictionaryPrefixTestTagHelper.PrefixValues["min #line default #line hidden __tagHelperExecutionContext.AddTagHelperAttribute("prefix-minute", __Microsoft_AspNetCore_Mvc_Razor_DictionaryPrefixTestTagHelper.PrefixValues["minute"], global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes); - await __tagHelperRunner.RunAsync(__tagHelperExecutionContext); BeginContext(338, 55, false); + await __tagHelperRunner.RunAsync(__tagHelperExecutionContext); + if (!__tagHelperExecutionContext.Output.IsContentModified) + { + await __tagHelperExecutionContext.SetOutputContentAsync(); + } Write(__tagHelperExecutionContext.Output); - EndContext(); __tagHelperExecutionContext = __tagHelperScopeManager.End(); + EndContext(); } #pragma warning restore 1998 + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } } } diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/_ViewImports.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/_ViewImports.cs index f9522d8159..334f739c54 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/_ViewImports.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/TestFiles/Output/Runtime/_ViewImports.cs @@ -1,40 +1,52 @@ #pragma checksum "TestFiles/Input/_ViewImports.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "778b41f9406fcda776cc3f1bf093f3b21956e582" namespace AspNetCore { + #line hidden using System; - using System.Linq; - using System.Collections.Generic; - using Microsoft.AspNetCore.Mvc; - using Microsoft.AspNetCore.Mvc.Rendering; - using Microsoft.AspNetCore.Mvc.ViewFeatures; using System.Threading.Tasks; +#line 2 "" +using System.Linq; - public class TestFiles_Input__ViewImports_cshtml : Microsoft.AspNetCore.Mvc.Razor.RazorPage +#line default +#line hidden +#line 3 "" +using System.Collections.Generic; + +#line default +#line hidden +#line 4 "" +using Microsoft.AspNetCore.Mvc; + +#line default +#line hidden +#line 5 "" +using Microsoft.AspNetCore.Mvc.Rendering; + +#line default +#line hidden +#line 6 "" +using Microsoft.AspNetCore.Mvc.ViewFeatures; + +#line default +#line hidden + public class TestFiles_Input__ViewImports_cshtml : global::Microsoft.AspNetCore.Mvc.Razor.RazorPage { - #line hidden - public TestFiles_Input__ViewImports_cshtml() - { - } - #line hidden - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public IHtmlHelper Model { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } - [Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] - public Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } - - #line hidden - #pragma warning disable 1998 - public override async Task ExecuteAsync() + public async override global::System.Threading.Tasks.Task ExecuteAsync() { } #pragma warning restore 1998 + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public IHtmlHelper Model { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.ViewFeatures.IModelExpressionProvider ModelExpressionProvider { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IUrlHelper Url { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.IViewComponentHelper Component { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IJsonHelper Json { get; private set; } + [global::Microsoft.AspNetCore.Mvc.Razor.Internal.RazorInjectAttribute] + public global::Microsoft.AspNetCore.Mvc.Rendering.IHtmlHelper Html { get; private set; } } } diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/xunit.runner.json b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/xunit.runner.json new file mode 100644 index 0000000000..78c070e832 --- /dev/null +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Host.Test/xunit.runner.json @@ -0,0 +1,3 @@ +{ + "shadowCopy": false +} \ No newline at end of file