diff --git a/benchmarks/Microsoft.AspNetCore.Razor.Performance/CodeGenerationBenchmark.cs b/benchmarks/Microsoft.AspNetCore.Razor.Performance/CodeGenerationBenchmark.cs index 33a95b9e65..b4320782e6 100644 --- a/benchmarks/Microsoft.AspNetCore.Razor.Performance/CodeGenerationBenchmark.cs +++ b/benchmarks/Microsoft.AspNetCore.Razor.Performance/CodeGenerationBenchmark.cs @@ -24,10 +24,10 @@ namespace Microsoft.AspNetCore.Razor.Performance var engine = RazorEngine.Create(b => { RazorExtensions.Register(b); }); - var project = RazorProject.Create(root.FullName); + var fileSystem = RazorProjectFileSystem.Create(root.FullName); - DesignTimeTemplateEngine = new MvcRazorTemplateEngine(RazorEngine.CreateDesignTime(b => { RazorExtensions.Register(b); }), project); - RuntimeTemplateEngine = new MvcRazorTemplateEngine(RazorEngine.Create(b => { RazorExtensions.Register(b); }), project); + DesignTimeTemplateEngine = new MvcRazorTemplateEngine(RazorEngine.CreateDesignTime(b => { RazorExtensions.Register(b); }), fileSystem); + RuntimeTemplateEngine = new MvcRazorTemplateEngine(RazorEngine.Create(b => { RazorExtensions.Register(b); }), fileSystem); var codeDocument = RuntimeTemplateEngine.CreateCodeDocument(Path.Combine(root.FullName, "MSN.cshtml")); diff --git a/src/Microsoft.AspNetCore.Razor.Language/FileSystemRazorProject.cs b/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorProjectFileSystem.cs similarity index 88% rename from src/Microsoft.AspNetCore.Razor.Language/FileSystemRazorProject.cs rename to src/Microsoft.AspNetCore.Razor.Language/DefaultRazorProjectFileSystem.cs index d6bfa5596a..2600ce5efe 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/FileSystemRazorProject.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorProjectFileSystem.cs @@ -8,9 +8,9 @@ using System.Linq; namespace Microsoft.AspNetCore.Razor.Language { - internal class FileSystemRazorProject : RazorProjectFileSystem + internal class DefaultRazorProjectFileSystem : RazorProjectFileSystem { - public FileSystemRazorProject(string root) + public DefaultRazorProjectFileSystem(string root) { if (string.IsNullOrEmpty(root)) { @@ -39,7 +39,7 @@ namespace Microsoft.AspNetCore.Razor.Language var relativePhysicalPath = file.FullName.Substring(absoluteBasePath.Length + 1); // Include leading separator var filePath = "/" + relativePhysicalPath.Replace(Path.DirectorySeparatorChar, '/'); - return new FileSystemRazorProjectItem(basePath, filePath, relativePhysicalPath, file); + return new DefaultRazorProjectItem(basePath, filePath, relativePhysicalPath, file); }); } @@ -53,7 +53,7 @@ namespace Microsoft.AspNetCore.Razor.Language var relativePhysicalPath = file.FullName.Substring(absoluteBasePath.Length + 1); // Include leading separator var filePath = "/" + relativePhysicalPath.Replace(Path.DirectorySeparatorChar, '/'); - return new FileSystemRazorProjectItem("/", filePath, relativePhysicalPath, new FileInfo(absolutePath)); + return new DefaultRazorProjectItem("/", filePath, relativePhysicalPath, new FileInfo(absolutePath)); } protected override string NormalizeAndEnsureValidPath(string path) diff --git a/src/Microsoft.AspNetCore.Razor.Language/FileSystemRazorProjectItem.cs b/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorProjectItem.cs similarity index 81% rename from src/Microsoft.AspNetCore.Razor.Language/FileSystemRazorProjectItem.cs rename to src/Microsoft.AspNetCore.Razor.Language/DefaultRazorProjectItem.cs index 210670d06a..5a3590a121 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/FileSystemRazorProjectItem.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/DefaultRazorProjectItem.cs @@ -5,16 +5,16 @@ using System.IO; namespace Microsoft.AspNetCore.Razor.Language { - internal class FileSystemRazorProjectItem : RazorProjectItem + internal class DefaultRazorProjectItem : RazorProjectItem { /// - /// Initializes a new instance of . + /// Initializes a new instance of . /// /// The base path. /// The physical path of the base path. /// The path. /// The . - public FileSystemRazorProjectItem(string basePath, string filePath, string relativePhysicalPath, FileInfo file) + public DefaultRazorProjectItem(string basePath, string filePath, string relativePhysicalPath, FileInfo file) { BasePath = basePath; FilePath = filePath; diff --git a/src/Microsoft.AspNetCore.Razor.Language/RazorProject.cs b/src/Microsoft.AspNetCore.Razor.Language/RazorProject.cs index 473e6382e1..74b772e142 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/RazorProject.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/RazorProject.cs @@ -129,9 +129,10 @@ namespace Microsoft.AspNetCore.Razor.Language /// /// The directory to root the file system at. /// A + [Obsolete("This method is obsolete and will be removed in a future version. Please use " + nameof(RazorProjectFileSystem) + "." + nameof(RazorProjectFileSystem.Create) + " instead.")] public static RazorProject Create(string rootDirectoryPath) { - return new FileSystemRazorProject(rootDirectoryPath); + return new DefaultRazorProjectFileSystem(rootDirectoryPath); } } } diff --git a/src/Microsoft.AspNetCore.Razor.Language/RazorProjectFileSystem.cs b/src/Microsoft.AspNetCore.Razor.Language/RazorProjectFileSystem.cs index 975b821ade..a95de255df 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/RazorProjectFileSystem.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/RazorProjectFileSystem.cs @@ -1,18 +1,25 @@ // 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; + namespace Microsoft.AspNetCore.Razor.Language { public abstract class RazorProjectFileSystem : RazorProject { /// - /// Create a Razor project based on a physical file system. + /// Create a Razor project file system based off of a root directory. /// /// The directory to root the file system at. - /// A - public static new RazorProjectFileSystem Create(string rootDirectoryPath) + /// A + public new static RazorProjectFileSystem Create(string rootDirectoryPath) { - return new FileSystemRazorProject(rootDirectoryPath); + if (string.IsNullOrEmpty(rootDirectoryPath)) + { + throw new ArgumentException(Resources.ArgumentCannotBeNullOrEmpty, nameof(rootDirectoryPath)); + } + + return new DefaultRazorProjectFileSystem(rootDirectoryPath); } } } diff --git a/src/Microsoft.AspNetCore.Razor.Language/RazorProjectItem.cs b/src/Microsoft.AspNetCore.Razor.Language/RazorProjectItem.cs index cadd00710c..6aecb94daa 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/RazorProjectItem.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/RazorProjectItem.cs @@ -1,14 +1,13 @@ // 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.Diagnostics; using System.IO; namespace Microsoft.AspNetCore.Razor.Language { /// - /// An item in . + /// An item in a . /// [DebuggerDisplay("{" + nameof(DebuggerToString) + "()}")] public abstract class RazorProjectItem diff --git a/src/Microsoft.AspNetCore.Razor.Tools/GenerateCommand.cs b/src/Microsoft.AspNetCore.Razor.Tools/GenerateCommand.cs index 9fdedccd93..fc0a876940 100644 --- a/src/Microsoft.AspNetCore.Razor.Tools/GenerateCommand.cs +++ b/src/Microsoft.AspNetCore.Razor.Tools/GenerateCommand.cs @@ -136,7 +136,7 @@ namespace Microsoft.AspNetCore.Razor.Tools var project = new VirtualRazorProjectFileSystem(); foreach (var item in inputItems) { - var projectItem = new FileSystemRazorProjectItem( + var projectItem = new DefaultRazorProjectItem( basePath: "/", filePath: item.FilePath, relativePhysicalPath: item.RelativePhysicalPath, diff --git a/src/Microsoft.VisualStudio.Editor.Razor/DefaultTemplateEngineFactoryService.cs b/src/Microsoft.VisualStudio.Editor.Razor/DefaultTemplateEngineFactoryService.cs index ab5518bb46..6c615077c7 100644 --- a/src/Microsoft.VisualStudio.Editor.Razor/DefaultTemplateEngineFactoryService.cs +++ b/src/Microsoft.VisualStudio.Editor.Razor/DefaultTemplateEngineFactoryService.cs @@ -60,7 +60,7 @@ namespace Microsoft.VisualStudio.Editor.Razor } }); - var templateEngine = new Mvc1_X.MvcRazorTemplateEngine(engine, RazorProject.Create(projectPath)); + var templateEngine = new Mvc1_X.MvcRazorTemplateEngine(engine, RazorProjectFileSystem.Create(projectPath)); templateEngine.Options.ImportsFileName = "_ViewImports.cshtml"; return templateEngine; } @@ -73,7 +73,7 @@ namespace Microsoft.VisualStudio.Editor.Razor MvcLatest.RazorExtensions.Register(b); }); - var templateEngine = new MvcLatest.MvcRazorTemplateEngine(engine, RazorProject.Create(projectPath)); + var templateEngine = new MvcLatest.MvcRazorTemplateEngine(engine, RazorProjectFileSystem.Create(projectPath)); templateEngine.Options.ImportsFileName = "_ViewImports.cshtml"; return templateEngine; } diff --git a/src/RazorPageGenerator/Program.cs b/src/RazorPageGenerator/Program.cs index 30081b1bc2..aecb2344dc 100644 --- a/src/RazorPageGenerator/Program.cs +++ b/src/RazorPageGenerator/Program.cs @@ -73,7 +73,7 @@ Examples: public static IList MainCore(RazorEngine razorEngine, string targetProjectDirectory) { var viewDirectories = Directory.EnumerateDirectories(targetProjectDirectory, "Views", SearchOption.AllDirectories); - var razorProject = RazorProject.Create(targetProjectDirectory); + var razorProject = RazorProjectFileSystem.Create(targetProjectDirectory); var templateEngine = new RazorTemplateEngine(razorEngine, razorProject); templateEngine.Options.DefaultImports = RazorSourceDocument.Create(@" @using System diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Extensions.Test/MvcRazorTemplateEngineTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Extensions.Test/MvcRazorTemplateEngineTest.cs index 6170065edf..58e440547e 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Extensions.Test/MvcRazorTemplateEngineTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Extensions.Test/MvcRazorTemplateEngineTest.cs @@ -26,7 +26,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Extensions }; var mvcRazorTemplateEngine = new MvcRazorTemplateEngine( RazorEngine.Create(), - new TestRazorProject()); + new TestRazorProjectFileSystem()); // Act var imports = mvcRazorTemplateEngine.Options.DefaultImports; @@ -52,7 +52,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Extensions }; var mvcRazorTemplateEngine = new MvcRazorTemplateEngine( RazorEngine.Create(), - new TestRazorProject()); + new TestRazorProjectFileSystem()); // Act var imports = mvcRazorTemplateEngine.Options.DefaultImports; @@ -70,7 +70,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Extensions // Arrange var mvcRazorTemplateEngine = new MvcRazorTemplateEngine( RazorEngine.Create(), - new TestRazorProject()); + new TestRazorProjectFileSystem()); // Act var imports = mvcRazorTemplateEngine.Options.DefaultImports; diff --git a/test/Microsoft.AspNetCore.Mvc.Razor.Extensions.Version1_X.Test/MvcRazorTemplateEngineTest.cs b/test/Microsoft.AspNetCore.Mvc.Razor.Extensions.Version1_X.Test/MvcRazorTemplateEngineTest.cs index 5ceff69208..c2378397a6 100644 --- a/test/Microsoft.AspNetCore.Mvc.Razor.Extensions.Version1_X.Test/MvcRazorTemplateEngineTest.cs +++ b/test/Microsoft.AspNetCore.Mvc.Razor.Extensions.Version1_X.Test/MvcRazorTemplateEngineTest.cs @@ -26,7 +26,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Extensions.Version1_X }; var mvcRazorTemplateEngine = new MvcRazorTemplateEngine( RazorEngine.Create(), - new TestRazorProject()); + new TestRazorProjectFileSystem()); // Act var imports = mvcRazorTemplateEngine.Options.DefaultImports; @@ -52,7 +52,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Extensions.Version1_X }; var mvcRazorTemplateEngine = new MvcRazorTemplateEngine( RazorEngine.Create(), - new TestRazorProject()); + new TestRazorProjectFileSystem()); // Act var imports = mvcRazorTemplateEngine.Options.DefaultImports; @@ -70,7 +70,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Extensions.Version1_X // Arrange var mvcRazorTemplateEngine = new MvcRazorTemplateEngine( RazorEngine.Create(), - new TestRazorProject()); + new TestRazorProjectFileSystem()); // Act var imports = mvcRazorTemplateEngine.Options.DefaultImports; diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/FileSystemRazorProjectTest.cs b/test/Microsoft.AspNetCore.Razor.Language.Test/DefaultRazorProjectFileSystemTest.cs similarity index 82% rename from test/Microsoft.AspNetCore.Razor.Language.Test/FileSystemRazorProjectTest.cs rename to test/Microsoft.AspNetCore.Razor.Language.Test/DefaultRazorProjectFileSystemTest.cs index e2d471c8fd..addc55ebea 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/FileSystemRazorProjectTest.cs +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/DefaultRazorProjectFileSystemTest.cs @@ -8,12 +8,12 @@ using Xunit; namespace Microsoft.AspNetCore.Razor.Language { - public class FileSystemRazorProjectTest + public class DefaultRazorProjectFileSystemTest { private static string TestFolder { get; } = Path.Combine( - TestProject.GetProjectDirectory(typeof(FileSystemRazorProjectTest)), - "TestFiles", - "FileSystemRazorProject"); + TestProject.GetProjectDirectory(typeof(DefaultRazorProjectFileSystemTest)), + "TestFiles", + "DefaultRazorProjectFileSystem"); [Theory] [InlineData(null)] @@ -21,20 +21,20 @@ namespace Microsoft.AspNetCore.Razor.Language public void NormalizeAndEnsureValidPath_ThrowsIfPathIsNullOrEmpty(string path) { // Arrange - var project = new TestFileSystemRazorProject("C:/some/test/path/root"); + var fileSystem = new TestRazorProjectFileSystem("C:/some/test/path/root"); // Act and Assert - ExceptionAssert.ThrowsArgumentNullOrEmptyString(() => project.NormalizeAndEnsureValidPath(path), "path"); + ExceptionAssert.ThrowsArgumentNullOrEmptyString(() => fileSystem.NormalizeAndEnsureValidPath(path), "path"); } [Fact] public void NormalizeAndEnsureValidPath_NormalizesToAbsolutePath() { // Arrange - var project = new TestFileSystemRazorProject("C:/some/test/path/root"); + var fileSystem = new TestRazorProjectFileSystem("C:/some/test/path/root"); // Act - var absolutePath = project.NormalizeAndEnsureValidPath("file.cshtml"); + var absolutePath = fileSystem.NormalizeAndEnsureValidPath("file.cshtml"); // Assert Assert.Equal("C:/some/test/path/root/file.cshtml", absolutePath); @@ -44,10 +44,10 @@ namespace Microsoft.AspNetCore.Razor.Language public void NormalizeAndEnsureValidPath_NormalizesToAbsolutePathWithoutForwardSlash() { // Arrange - var project = new TestFileSystemRazorProject("C:/some/test/path/root"); + var fileSystem = new TestRazorProjectFileSystem("C:/some/test/path/root"); // Act - var absolutePath = project.NormalizeAndEnsureValidPath("/file.cshtml"); + var absolutePath = fileSystem.NormalizeAndEnsureValidPath("/file.cshtml"); // Assert Assert.Equal("C:/some/test/path/root/file.cshtml", absolutePath); @@ -57,10 +57,10 @@ namespace Microsoft.AspNetCore.Razor.Language public void NormalizeAndEnsureValidPath_NormalizesToForwardSlashes() { // Arrange - var project = new TestFileSystemRazorProject(@"C:\some\test\path\root"); + var fileSystem = new TestRazorProjectFileSystem(@"C:\some\test\path\root"); // Act - var absolutePath = project.NormalizeAndEnsureValidPath(@"something\file.cshtml"); + var absolutePath = fileSystem.NormalizeAndEnsureValidPath(@"something\file.cshtml"); // Assert Assert.Equal("C:/some/test/path/root/something/file.cshtml", absolutePath); @@ -70,10 +70,10 @@ namespace Microsoft.AspNetCore.Razor.Language public void EnumerateItems_DiscoversAllCshtmlFiles() { // Arrange - var fileSystemProject = new FileSystemRazorProject(TestFolder); + var fileSystem = new DefaultRazorProjectFileSystem(TestFolder); // Act - var items = fileSystemProject.EnumerateItems("/"); + var items = fileSystem.EnumerateItems("/"); // Assert Assert.Collection( @@ -130,10 +130,10 @@ namespace Microsoft.AspNetCore.Razor.Language public void EnumerateItems_DiscoversAllCshtmlFiles_UnderSpecifiedBasePath() { // Arrange - var fileSystemProject = new FileSystemRazorProject(TestFolder); + var fileSystem = new DefaultRazorProjectFileSystem(TestFolder); // Act - var items = fileSystemProject.EnumerateItems("/Views"); + var items = fileSystem.EnumerateItems("/Views"); // Assert Assert.Collection( @@ -172,10 +172,10 @@ namespace Microsoft.AspNetCore.Razor.Language public void EnumerateItems_ReturnsEmptySequence_WhenBasePathDoesNotExist() { // Arrange - var fileSystemProject = new FileSystemRazorProject(TestFolder); + var fileSystem = new DefaultRazorProjectFileSystem(TestFolder); // Act - var items = fileSystemProject.EnumerateItems("/Does-Not-Exist"); + var items = fileSystem.EnumerateItems("/Does-Not-Exist"); // Assert Assert.Empty(items); @@ -185,10 +185,10 @@ namespace Microsoft.AspNetCore.Razor.Language public void FindHierarchicalItems_FindsItemsWithMatchingNames() { // Arrange - var fileSystemProject = new FileSystemRazorProject(TestFolder); + var fileSystem = new DefaultRazorProjectFileSystem(TestFolder); // Act - var items = fileSystemProject.FindHierarchicalItems("/Views/Home/Index.cshtml", "_ViewImports.cshtml"); + var items = fileSystem.FindHierarchicalItems("/Views/Home/Index.cshtml", "_ViewImports.cshtml"); // Assert Assert.Collection( @@ -224,10 +224,10 @@ namespace Microsoft.AspNetCore.Razor.Language { // Arrange var filePath = "/Views/About/About.cshtml"; - var fileSystemProject = new FileSystemRazorProject(TestFolder); + var fileSystem = new DefaultRazorProjectFileSystem(TestFolder); // Act - var item = fileSystemProject.GetItem(filePath); + var item = fileSystem.GetItem(filePath); // Assert Assert.True(item.Exists); @@ -242,18 +242,18 @@ namespace Microsoft.AspNetCore.Razor.Language { // Arrange var path = "/NotFound.cshtml"; - var fileSystemProject = new FileSystemRazorProject(TestFolder); + var fileSystem = new DefaultRazorProjectFileSystem(TestFolder); // Act - var item = fileSystemProject.GetItem(path); + var item = fileSystem.GetItem(path); // Assert Assert.False(item.Exists); } - private class TestFileSystemRazorProject : FileSystemRazorProject + private class TestRazorProjectFileSystem : DefaultRazorProjectFileSystem { - public TestFileSystemRazorProject(string root) : base(root) + public TestRazorProjectFileSystem(string root) : base(root) { } diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/FileSystemRazorProjectItemTest.cs b/test/Microsoft.AspNetCore.Razor.Language.Test/DefaultRazorProjectItemTest.cs similarity index 70% rename from test/Microsoft.AspNetCore.Razor.Language.Test/FileSystemRazorProjectItemTest.cs rename to test/Microsoft.AspNetCore.Razor.Language.Test/DefaultRazorProjectItemTest.cs index a5193f45f9..1fa4453bd3 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/FileSystemRazorProjectItemTest.cs +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/DefaultRazorProjectItemTest.cs @@ -6,21 +6,21 @@ using Xunit; namespace Microsoft.AspNetCore.Razor.Language { - public class FileSystemRazorProjectItemTest + public class DefaultRazorProjectItemTest { private static string TestFolder { get; } = Path.Combine( - TestProject.GetProjectDirectory(typeof(FileSystemRazorProjectItemTest)), - "TestFiles", - "FileSystemRazorProject"); + TestProject.GetProjectDirectory(typeof(DefaultRazorProjectItemTest)), + "TestFiles", + "DefaultRazorProjectFileSystem"); [Fact] - public void FileSystemRazorProjectItem_SetsProperties() + public void DefaultRazorProjectItem_SetsProperties() { // Arrange var fileInfo = new FileInfo(Path.Combine(TestFolder, "Home.cshtml")); // Act - var projectItem = new FileSystemRazorProjectItem("/", "/Home.cshtml", "Home.cshtml", fileInfo); + var projectItem = new DefaultRazorProjectItem("/", "/Home.cshtml", "Home.cshtml", fileInfo); // Assert Assert.Equal("/Home.cshtml", projectItem.FilePath); @@ -38,7 +38,7 @@ namespace Microsoft.AspNetCore.Razor.Language var fileInfo = new FileInfo(Path.Combine(TestFolder, "Views", "FileDoesNotExist.cshtml")); // Act - var projectItem = new FileSystemRazorProjectItem("/Views", "/FileDoesNotExist.cshtml", Path.Combine("Views", "FileDoesNotExist.cshtml"), fileInfo); + var projectItem = new DefaultRazorProjectItem("/Views", "/FileDoesNotExist.cshtml", Path.Combine("Views", "FileDoesNotExist.cshtml"), fileInfo); // Assert Assert.False(projectItem.Exists); @@ -49,7 +49,7 @@ namespace Microsoft.AspNetCore.Razor.Language { // Arrange var fileInfo = new FileInfo(Path.Combine(TestFolder, "Home.cshtml")); - var projectItem = new FileSystemRazorProjectItem("/", "/Home.cshtml", "Home.cshtml", fileInfo); + var projectItem = new DefaultRazorProjectItem("/", "/Home.cshtml", "Home.cshtml", fileInfo); // Act var stream = projectItem.Read(); diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/IntegrationTests/RazorTemplateEngineIntegrationTest.cs b/test/Microsoft.AspNetCore.Razor.Language.Test/IntegrationTests/RazorTemplateEngineIntegrationTest.cs index 025ff5aa1f..ad26823b85 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/IntegrationTests/RazorTemplateEngineIntegrationTest.cs +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/IntegrationTests/RazorTemplateEngineIntegrationTest.cs @@ -12,12 +12,12 @@ namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests public void GenerateCodeWithDefaults() { // Arrange - var project = new FileSystemRazorProject(TestProjectRoot); + var fileSystem = new DefaultRazorProjectFileSystem(TestProjectRoot); var razorEngine = RazorEngine.Create(engine => { engine.Features.Add(new SuppressChecksumOptionsFeature()); }); - var templateEngine = new RazorTemplateEngine(razorEngine, project); + var templateEngine = new RazorTemplateEngine(razorEngine, fileSystem); // Act var cSharpDocument = templateEngine.GenerateCode($"{FileName}.cshtml"); @@ -30,14 +30,14 @@ namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests public void GenerateCodeWithBaseType() { // Arrange - var project = new FileSystemRazorProject(TestProjectRoot); + var fileSystem = new DefaultRazorProjectFileSystem(TestProjectRoot); var razorEngine = RazorEngine.Create(engine => { engine.Features.Add(new SuppressChecksumOptionsFeature()); engine.SetBaseType("MyBaseType"); }); - var templateEngine = new RazorTemplateEngine(razorEngine, project); + var templateEngine = new RazorTemplateEngine(razorEngine, fileSystem); // Act var cSharpDocument = templateEngine.GenerateCode($"{FileName}.cshtml"); @@ -50,7 +50,7 @@ namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests public void GenerateCodeWithConfigureClass() { // Arrange - var project = new FileSystemRazorProject(TestProjectRoot); + var fileSystem = new DefaultRazorProjectFileSystem(TestProjectRoot); var razorEngine = RazorEngine.Create(engine => { engine.Features.Add(new SuppressChecksumOptionsFeature()); @@ -70,7 +70,7 @@ namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests @class.BaseType = "CustomBaseType"; }); }); - var templateEngine = new RazorTemplateEngine(razorEngine, project); + var templateEngine = new RazorTemplateEngine(razorEngine, fileSystem); // Act var cSharpDocument = templateEngine.GenerateCode($"{FileName}.cshtml"); @@ -83,14 +83,14 @@ namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests public void GenerateCodeWithSetNamespace() { // Arrange - var project = new FileSystemRazorProject(TestProjectRoot); + var fileSystem = new DefaultRazorProjectFileSystem(TestProjectRoot); var razorEngine = RazorEngine.Create(engine => { engine.Features.Add(new SuppressChecksumOptionsFeature()); engine.SetNamespace("MyApp.Razor.Views"); }); - var templateEngine = new RazorTemplateEngine(razorEngine, project); + var templateEngine = new RazorTemplateEngine(razorEngine, fileSystem); // Act var cSharpDocument = templateEngine.GenerateCode($"{FileName}.cshtml"); diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/RazorTemplateEngineTest.cs b/test/Microsoft.AspNetCore.Razor.Language.Test/RazorTemplateEngineTest.cs index 5e757d9252..e77c5a05fa 100644 --- a/test/Microsoft.AspNetCore.Razor.Language.Test/RazorTemplateEngineTest.cs +++ b/test/Microsoft.AspNetCore.Razor.Language.Test/RazorTemplateEngineTest.cs @@ -15,16 +15,16 @@ namespace Microsoft.AspNetCore.Razor.Language public void GetImports_CanQueryInformationOnNonExistentFileWithoutImports() { // Arrange - var project = new TestRazorProject(); + var fileSystem = new TestRazorProjectFileSystem(); var razorEngine = RazorEngine.Create(); - var templateEngine = new RazorTemplateEngine(razorEngine, project) + var templateEngine = new RazorTemplateEngine(razorEngine, fileSystem) { Options = { ImportsFileName = "MyImport.cshtml" } }; - var projectItemToQuery = project.GetItem("/Views/Home/Index.cshtml"); + var projectItemToQuery = fileSystem.GetItem("/Views/Home/Index.cshtml"); // Act var imports = templateEngine.GetImports(projectItemToQuery); @@ -39,7 +39,7 @@ namespace Microsoft.AspNetCore.Razor.Language // Arrange var path = "/Views/Home/MyImport.cshtml"; var projectItem = new TestRazorProjectItem(path); - var project = new TestRazorProject(new[] { projectItem }); + var project = new TestRazorProjectFileSystem(new[] { projectItem }); var razorEngine = RazorEngine.Create(); var templateEngine = new RazorTemplateEngine(razorEngine, project) { @@ -62,7 +62,7 @@ namespace Microsoft.AspNetCore.Razor.Language public void GenerateCode_ThrowsIfItemCannotBeFound() { // Arrange - var project = new TestRazorProject(new RazorProjectItem[] { }); + var project = new TestRazorProjectFileSystem(new RazorProjectItem[] { }); var razorEngine = RazorEngine.Create(); var templateEngine = new RazorTemplateEngine(razorEngine, project); @@ -76,7 +76,7 @@ namespace Microsoft.AspNetCore.Razor.Language public void SettingOptions_ThrowsIfValueIsNull() { // Arrange - var project = new TestRazorProject(new RazorProjectItem[] { }); + var project = new TestRazorProjectFileSystem(new RazorProjectItem[] { }); var razorEngine = RazorEngine.Create(); var templateEngine = new RazorTemplateEngine(razorEngine, project); @@ -92,7 +92,7 @@ namespace Microsoft.AspNetCore.Razor.Language // Arrange var path = "/Views/Home/Index.cshtml"; var projectItem = new TestRazorProjectItem(path); - var project = new TestRazorProject(new[] { projectItem }); + var project = new TestRazorProjectFileSystem(new[] { projectItem }); var razorEngine = RazorEngine.Create(); var templateEngine = new RazorTemplateEngine(razorEngine, project); @@ -110,7 +110,7 @@ namespace Microsoft.AspNetCore.Razor.Language { // Arrange var path = "/Views/Home/Index.cshtml"; - var project = new TestRazorProject(new RazorProjectItem[] { }); + var project = new TestRazorProjectFileSystem(new RazorProjectItem[] { }); var razorEngine = RazorEngine.Create(); var templateEngine = new RazorTemplateEngine(razorEngine, project); @@ -125,7 +125,7 @@ namespace Microsoft.AspNetCore.Razor.Language // Arrange var path = "/Views/Home/Index.cshtml"; var projectItem = new TestRazorProjectItem(path); - var project = new TestRazorProject(new[] { projectItem }); + var project = new TestRazorProjectFileSystem(new[] { projectItem }); var razorEngine = RazorEngine.Create(); var templateEngine = new RazorTemplateEngine(razorEngine, project); @@ -144,7 +144,7 @@ namespace Microsoft.AspNetCore.Razor.Language // Arrange var path = "/Views/Home/Index.cshtml"; var projectItem = new TestRazorProjectItem(path); - var project = new TestRazorProject(new[] { projectItem }); + var project = new TestRazorProjectFileSystem(new[] { projectItem }); var razorEngine = RazorEngine.Create(); var templateEngine = new RazorTemplateEngine(razorEngine, project); @@ -168,7 +168,7 @@ namespace Microsoft.AspNetCore.Razor.Language { // Arrange var projectItem = new TestRazorProjectItem("/Views/Home/Index.cshtml"); - var project = new TestRazorProject(new[] { projectItem }); + var project = new TestRazorProjectFileSystem(new[] { projectItem }); var razorEngine = RazorEngine.Create(); var templateEngine = new RazorTemplateEngine(razorEngine, project) { @@ -192,7 +192,7 @@ namespace Microsoft.AspNetCore.Razor.Language var projectItem = new TestRazorProjectItem("/Views/Home/Index.cshtml"); var import1 = new TestRazorProjectItem("/MyImport.cshtml"); var import2 = new TestRazorProjectItem("/Views/Home/MyImport.cshtml"); - var project = new TestRazorProject(new[] { import1, import2, projectItem }); + var project = new TestRazorProjectFileSystem(new[] { import1, import2, projectItem }); var razorEngine = RazorEngine.Create(); var templateEngine = new RazorTemplateEngine(razorEngine, project) { @@ -218,7 +218,7 @@ namespace Microsoft.AspNetCore.Razor.Language var projectItem = new TestRazorProjectItem("/Views/Home/Index.cshtml"); var import1 = new TestRazorProjectItem("/MyImport.cshtml"); var import2 = new TestRazorProjectItem("/Views/Home/MyImport.cshtml"); - var project = new TestRazorProject(new[] { import1, import2, projectItem }); + var project = new TestRazorProjectFileSystem(new[] { import1, import2, projectItem }); var razorEngine = RazorEngine.Create(); var defaultImport = RazorSourceDocument.ReadFrom(new MemoryStream(), "Default.cshtml"); var templateEngine = new RazorTemplateEngine(razorEngine, project) @@ -245,7 +245,7 @@ namespace Microsoft.AspNetCore.Razor.Language { // Arrange var projectItem = new TestRazorProjectItem("/Views/Home/Index.cshtml"); - var project = new TestRazorProject(new[] { projectItem }); + var project = new TestRazorProjectFileSystem(new[] { projectItem }); var razorEngine = RazorEngine.Create(); var defaultImport = RazorSourceDocument.ReadFrom(new MemoryStream(), "Default.cshtml"); var templateEngine = new RazorTemplateEngine(razorEngine, project) @@ -269,7 +269,7 @@ namespace Microsoft.AspNetCore.Razor.Language { // Arrange var expected = new[] { "/Views/Home/MyImport.cshtml", "/Views/MyImport.cshtml", "/MyImport.cshtml" }; - var project = new TestRazorProject(); + var project = new TestRazorProjectFileSystem(); var razorEngine = RazorEngine.Create(); var templateEngine = new RazorTemplateEngine(razorEngine, project) { @@ -293,9 +293,9 @@ namespace Microsoft.AspNetCore.Razor.Language // Arrange var expected = new[] { "/Views/Home/MyImport.cshtml", "/Views/MyImport.cshtml", "/MyImport.cshtml" }; var projectItem = new TestRazorProjectItem("/Views/Home/Index.cshtml"); - var project = new TestRazorProject(new[] { projectItem }); + var fileSystem = new TestRazorProjectFileSystem(new[] { projectItem }); var razorEngine = RazorEngine.Create(); - var templateEngine = new RazorTemplateEngine(razorEngine, project) + var templateEngine = new RazorTemplateEngine(razorEngine, fileSystem) { Options = { @@ -316,11 +316,11 @@ namespace Microsoft.AspNetCore.Razor.Language { // Arrange var testFolder = Path.Combine( - TestProject.GetProjectDirectory(typeof(FileSystemRazorProjectTest)), + TestProject.GetProjectDirectory(typeof(DefaultRazorProjectFileSystemTest)), "TestFiles", - "FileSystemRazorProject"); + "DefaultRazorProjectFileSystem"); - var project = new FileSystemRazorProject(testFolder); + var project = new DefaultRazorProjectFileSystem(testFolder); var razorEngine = RazorEngine.Create(); var templateEngine = new RazorTemplateEngine(razorEngine, project) { diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/FileSystemRazorProject/Home.cshtml b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Home.cshtml similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/FileSystemRazorProject/Home.cshtml rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Home.cshtml diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/FileSystemRazorProject/Views/About/About.cshtml b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/About/About.cshtml similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/FileSystemRazorProject/Views/About/About.cshtml rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/About/About.cshtml diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/FileSystemRazorProject/Views/Home/Index.cshtml b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/Home/Index.cshtml similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/FileSystemRazorProject/Views/Home/Index.cshtml rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/Home/Index.cshtml diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/FileSystemRazorProject/Views/Home/Index.txt b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/Home/Index.txt similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/FileSystemRazorProject/Views/Home/Index.txt rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/Home/Index.txt diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/FileSystemRazorProject/Views/Home/_ViewImports.cshtml b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/Home/_ViewImports.cshtml similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/FileSystemRazorProject/Views/Home/_ViewImports.cshtml rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/Home/_ViewImports.cshtml diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/FileSystemRazorProject/Views/_ViewImports.cshtml b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/_ViewImports.cshtml similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/FileSystemRazorProject/Views/_ViewImports.cshtml rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/_ViewImports.cshtml diff --git a/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/FileSystemRazorProject/_ViewImports.cshtml b/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/_ViewImports.cshtml similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/FileSystemRazorProject/_ViewImports.cshtml rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/_ViewImports.cshtml diff --git a/test/Microsoft.AspNetCore.Razor.Test.Common/Language/TestRazorProject.cs b/test/Microsoft.AspNetCore.Razor.Language.Test/TestRazorProject.cs similarity index 100% rename from test/Microsoft.AspNetCore.Razor.Test.Common/Language/TestRazorProject.cs rename to test/Microsoft.AspNetCore.Razor.Language.Test/TestRazorProject.cs diff --git a/test/Microsoft.VisualStudio.Editor.Razor.Test/DefaultVisualStudioRazorParserIntegrationTest.cs b/test/Microsoft.VisualStudio.Editor.Razor.Test/DefaultVisualStudioRazorParserIntegrationTest.cs index cb7df55d12..9b38140366 100644 --- a/test/Microsoft.VisualStudio.Editor.Razor.Test/DefaultVisualStudioRazorParserIntegrationTest.cs +++ b/test/Microsoft.VisualStudio.Editor.Razor.Test/DefaultVisualStudioRazorParserIntegrationTest.cs @@ -544,7 +544,7 @@ namespace Microsoft.VisualStudio.Editor.Razor var items = new List(); items.Add(new TestRazorProjectItem(path)); - var project = new TestRazorProject(items); + var project = new TestRazorProjectFileSystem(items); var templateEngine = new RazorTemplateEngine(engine, project); templateEngine.Options.DefaultImports = RazorSourceDocument.Create("@addTagHelper *, Test", "_TestImports.cshtml"); diff --git a/test/Microsoft.VisualStudio.Editor.Razor.Test/RazorSyntaxTreePartialParserTest.cs b/test/Microsoft.VisualStudio.Editor.Razor.Test/RazorSyntaxTreePartialParserTest.cs index b82bf58c6b..074fa0e1be 100644 --- a/test/Microsoft.VisualStudio.Editor.Razor.Test/RazorSyntaxTreePartialParserTest.cs +++ b/test/Microsoft.VisualStudio.Editor.Razor.Test/RazorSyntaxTreePartialParserTest.cs @@ -599,7 +599,7 @@ namespace Microsoft.VisualStudio.Editor.Razor var items = new List(); items.Add(new TestRazorProjectItem(path)); - var project = new TestRazorProject(items); + var project = new TestRazorProjectFileSystem(items); var templateEngine = new RazorTemplateEngine(engine, project); templateEngine.Options.DefaultImports = RazorSourceDocument.Create("@addTagHelper *, Test", "_TestImports.cshtml");