public void FindHierarchicalItems_FindsItemsWithMatchingNames() { // Arrange var fileSystemProject = new FileSystemRazorProject(TestFolder); // Act var items = fileSystemProject.FindHierarchicalItems("/Views/Home/Index.cshtml", "_ViewImports.cshtml"); // Assert Assert.Collection( items, item => { Assert.Equal("/Views/Home/_ViewImports.cshtml", item.FilePath); Assert.Equal("/", item.BasePath); Assert.Equal(Path.Combine(TestFolder, "Views", "Home", "_ViewImports.cshtml"), item.PhysicalPath); Assert.Equal(Path.Combine("Views", "Home", "_ViewImports.cshtml"), item.RelativePhysicalPath); }, item => { Assert.Equal("/Views/_ViewImports.cshtml", item.FilePath); Assert.Equal("/", item.BasePath); Assert.Equal(Path.Combine(TestFolder, "Views", "_ViewImports.cshtml"), item.PhysicalPath); Assert.Equal(Path.Combine("Views", "_ViewImports.cshtml"), item.RelativePhysicalPath); }, item => { Assert.Equal("/_ViewImports.cshtml", item.FilePath); Assert.Equal("/", item.BasePath); Assert.Equal(Path.Combine(TestFolder, "_ViewImports.cshtml"), item.PhysicalPath); Assert.Equal("_ViewImports.cshtml", item.RelativePhysicalPath); }); }
public void EnumerateItems_DiscoversAllCshtmlFiles() { // Arrange var fileSystemProject = new FileSystemRazorProject(TestFolder); // Act var files = fileSystemProject.EnumerateItems("/"); // Assert Assert.Collection(files.OrderBy(f => f.FilePath), file => { Assert.Equal("/Home.cshtml", file.FilePath); Assert.Equal("/", file.BasePath); }, file => { Assert.Equal("/Views/About/About.cshtml", file.FilePath); Assert.Equal("/", file.BasePath); }, file => { Assert.Equal("/Views/Home/Index.cshtml", file.FilePath); Assert.Equal("/", file.BasePath); }); }
public void EnumerateItems_DiscoversAllCshtmlFiles() { // Arrange var fileSystemProject = new FileSystemRazorProject(TestFolder); // Act var items = fileSystemProject.EnumerateItems("/"); // Assert Assert.Collection( items.OrderBy(f => f.FilePath), item => { Assert.Equal("/_ViewImports.cshtml", item.FilePath); Assert.Equal("/", item.BasePath); Assert.Equal(Path.Combine(TestFolder, "_ViewImports.cshtml"), item.PhysicalPath); Assert.Equal("_ViewImports.cshtml", item.RelativePhysicalPath); }, item => { Assert.Equal("/Home.cshtml", item.FilePath); Assert.Equal("/", item.BasePath); Assert.Equal(Path.Combine(TestFolder, "Home.cshtml"), item.PhysicalPath); Assert.Equal("Home.cshtml", item.RelativePhysicalPath); }, item => { Assert.Equal("/Views/_ViewImports.cshtml", item.FilePath); Assert.Equal("/", item.BasePath); Assert.Equal(Path.Combine(TestFolder, "Views", "_ViewImports.cshtml"), item.PhysicalPath); Assert.Equal(Path.Combine("Views", "_ViewImports.cshtml"), item.RelativePhysicalPath); }, item => { Assert.Equal("/Views/About/About.cshtml", item.FilePath); Assert.Equal("/", item.BasePath); Assert.Equal(Path.Combine(TestFolder, "Views", "About", "About.cshtml"), item.PhysicalPath); Assert.Equal(Path.Combine("Views", "About", "About.cshtml"), item.RelativePhysicalPath); }, item => { Assert.Equal("/Views/Home/_ViewImports.cshtml", item.FilePath); Assert.Equal("/", item.BasePath); Assert.Equal(Path.Combine(TestFolder, "Views", "Home", "_ViewImports.cshtml"), item.PhysicalPath); Assert.Equal(Path.Combine("Views", "Home", "_ViewImports.cshtml"), item.RelativePhysicalPath); }, item => { Assert.Equal("/Views/Home/Index.cshtml", item.FilePath); Assert.Equal("/", item.BasePath); Assert.Equal(Path.Combine(TestFolder, "Views", "Home", "Index.cshtml"), item.PhysicalPath); Assert.Equal(Path.Combine("Views", "Home", "Index.cshtml"), item.RelativePhysicalPath); }); }
public void EnumerateItems_ReturnsEmptySequence_WhenBasePathDoesNotExist() { // Arrange var fileSystemProject = new FileSystemRazorProject(TestFolder); // Act var items = fileSystemProject.EnumerateItems("/Does-Not-Exist"); // Assert Assert.Empty(items); }
public void GetItem_ReturnsNotFoundResult() { // Arrange var path = "/NotFound.cshtml"; var fileSystemProject = new FileSystemRazorProject(TestFolder); // Act var item = fileSystemProject.GetItem(path); // Assert Assert.False(item.Exists); }
public void GetItem_ReturnsFileFromDisk() { // Arrange var path = "/Views/About/About.cshtml"; var fileSystemProject = new FileSystemRazorProject(TestFolder); // Act var file = fileSystemProject.GetItem(path); // Assert Assert.True(file.Exists); Assert.Equal(path, file.FilePath); }
public void GetItem_ReturnsFileFromDisk() { // Arrange var filePath = "/Views/About/About.cshtml"; var fileSystemProject = new FileSystemRazorProject(TestFolder); // Act var item = fileSystemProject.GetItem(filePath); // Assert Assert.True(item.Exists); Assert.Equal(filePath, item.FilePath); Assert.Equal("/", item.BasePath); Assert.Equal(Path.Combine(TestFolder, "Views", "About", "About.cshtml"), item.PhysicalPath); Assert.Equal(Path.Combine("Views", "About", "About.cshtml"), item.RelativePhysicalPath); }
public void CreateCodeDocument_WithFileSystemProject_ReturnsCorrectItems() { // Arrange var testFolder = Path.Combine( TestProject.GetProjectDirectory(typeof(FileSystemRazorProjectTest)), "TestFiles", "FileSystemRazorProject"); var project = new FileSystemRazorProject(testFolder); var razorEngine = RazorEngine.Create(); var templateEngine = new RazorTemplateEngine(razorEngine, project) { Options = { ImportsFileName = "_ViewImports.cshtml" } }; // Act var codeDocument = templateEngine.CreateCodeDocument("/Views/Home/Index.cshtml"); // Assert Assert.Collection( codeDocument.Imports, item => { Assert.Equal(Path.Combine(testFolder, "_ViewImports.cshtml"), item.FilePath); Assert.Equal("_ViewImports.cshtml", item.RelativePath); }, item => { Assert.Equal(Path.Combine(testFolder, "Views", "_ViewImports.cshtml"), item.FilePath); Assert.Equal(Path.Combine("Views", "_ViewImports.cshtml"), item.RelativePath); }, item => { Assert.Equal(Path.Combine(testFolder, "Views", "Home", "_ViewImports.cshtml"), item.FilePath); Assert.Equal(Path.Combine("Views", "Home", "_ViewImports.cshtml"), item.RelativePath); }); }