Move to RazorProjectFileSystem.
- Changed all existing APIs to utilize `RazorProjectFileSystem`. This was possible because `RazorProjectFileSystem` inherits from RazorProject. - Renamed `FileSystemRazorProject` to `DefaultRazorProjectFileSystem`. - Renamed FileSystemRazorProjectItem` to `DefaultRazorProjectItem`. - Obsoleted `RazorProject.Create` #1828
This commit is contained in:
parent
06c2f0cfd2
commit
84bc74ea9f
|
|
@ -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"));
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
@ -5,16 +5,16 @@ using System.IO;
|
|||
|
||||
namespace Microsoft.AspNetCore.Razor.Language
|
||||
{
|
||||
internal class FileSystemRazorProjectItem : RazorProjectItem
|
||||
internal class DefaultRazorProjectItem : RazorProjectItem
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of <see cref="FileSystemRazorProjectItem"/>.
|
||||
/// Initializes a new instance of <see cref="DefaultRazorProjectItem"/>.
|
||||
/// </summary>
|
||||
/// <param name="basePath">The base path.</param>
|
||||
/// <param name="relativePhysicalPath">The physical path of the base path.</param>
|
||||
/// <param name="filePath">The path.</param>
|
||||
/// <param name="file">The <see cref="FileInfo"/>.</param>
|
||||
public FileSystemRazorProjectItem(string basePath, string filePath, string relativePhysicalPath, FileInfo file)
|
||||
public DefaultRazorProjectItem(string basePath, string filePath, string relativePhysicalPath, FileInfo file)
|
||||
{
|
||||
BasePath = basePath;
|
||||
FilePath = filePath;
|
||||
|
|
@ -129,9 +129,10 @@ namespace Microsoft.AspNetCore.Razor.Language
|
|||
/// </summary>
|
||||
/// <param name="rootDirectoryPath">The directory to root the file system at.</param>
|
||||
/// <returns>A <see cref="RazorProject"/></returns>
|
||||
[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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
/// <summary>
|
||||
/// Create a Razor project based on a physical file system.
|
||||
/// Create a Razor project file system based off of a root directory.
|
||||
/// </summary>
|
||||
/// <param name="rootDirectoryPath">The directory to root the file system at.</param>
|
||||
/// <returns>A <see cref="RazorProject"/></returns>
|
||||
public static new RazorProjectFileSystem Create(string rootDirectoryPath)
|
||||
/// <returns>A <see cref="RazorProjectFileSystem"/></returns>
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
/// <summary>
|
||||
/// An item in <see cref="RazorProject"/>.
|
||||
/// An item in a <see cref="RazorProjectFileSystem"/>.
|
||||
/// </summary>
|
||||
[DebuggerDisplay("{" + nameof(DebuggerToString) + "()}")]
|
||||
public abstract class RazorProjectItem
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ Examples:
|
|||
public static IList<RazorPageGeneratorResult> 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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -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();
|
||||
|
|
@ -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");
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -544,7 +544,7 @@ namespace Microsoft.VisualStudio.Editor.Razor
|
|||
var items = new List<RazorProjectItem>();
|
||||
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");
|
||||
|
|
|
|||
|
|
@ -599,7 +599,7 @@ namespace Microsoft.VisualStudio.Editor.Razor
|
|||
var items = new List<RazorProjectItem>();
|
||||
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");
|
||||
|
|
|
|||
Loading…
Reference in New Issue