Esempio n. 1
0
    public void FindHierarchicalItems_WithNestedBasePath(string basePath)
    {
        // Arrange
        var path  = "/Areas/MyArea/Views/Home/Test.cshtml";
        var items = new List <RazorProjectItem>
        {
            CreateProjectItem("/Areas/MyArea/File.cshtml"),
            CreateProjectItem("/File.cshtml")
        };
        var project = new TestRazorProject(items);

        // Act
        var result = project.FindHierarchicalItems(basePath, path, "File.cshtml");

        // Assert
        Assert.Collection(
            result,
            item =>
        {
            Assert.Equal("/Areas/MyArea/Views/Home/File.cshtml", item.FilePath);
            Assert.False(item.Exists);
        },
            item =>
        {
            Assert.Equal("/Areas/MyArea/Views/File.cshtml", item.FilePath);
            Assert.False(item.Exists);
        });
    }
Esempio n. 2
0
    public void FindHierarchicalItems_DoesNotIncludePassedInItem()
    {
        // Arrange
        var path  = "/Areas/MyArea/Views/Home/File.cshtml";
        var items = new List <RazorProjectItem>
        {
            CreateProjectItem("/Areas/MyArea/Views/Home/File.cshtml"),
            CreateProjectItem("/Areas/MyArea/Views/File.cshtml"),
            CreateProjectItem("/Areas/MyArea/File.cshtml"),
            CreateProjectItem("/Areas/File.cshtml"),
            CreateProjectItem("/File.cshtml"),
        };
        var project = new TestRazorProject(items);

        // Act
        var result = project.FindHierarchicalItems(path, "File.cshtml");

        // Assert
        Assert.Collection(
            result,
            item => Assert.Equal("/Areas/MyArea/Views/File.cshtml", item.FilePath),
            item => Assert.Equal("/Areas/MyArea/File.cshtml", item.FilePath),
            item => Assert.Equal("/Areas/File.cshtml", item.FilePath),
            item => Assert.Equal("/File.cshtml", item.FilePath));
    }
Esempio n. 3
0
    public void FindHierarchicalItems_ReturnsEmptySequenceIfPathIsAtRoot()
    {
        // Arrange
        var project = new TestRazorProject();

        // Act
        var result = project.FindHierarchicalItems("/", "File.cshtml");

        // Assert
        Assert.Empty(result);
    }
Esempio n. 4
0
    public void FindHierarchicalItems_ReturnsEmptySequenceIfPassedInItemWithFileNameIsAtRoot()
    {
        // Arrange
        var path  = "/File.cshtml";
        var items = new List <RazorProjectItem>
        {
            CreateProjectItem("/File.cshtml")
        };
        var project = new TestRazorProject(items);

        // Act
        var result = project.FindHierarchicalItems(path, "File.cshtml");

        // Assert
        Assert.Empty(result);
    }
Esempio n. 5
0
    public void FindHierarchicalItems_ReturnsItemsForPathAtRoot()
    {
        // Arrange
        var path  = "/Index.cshtml";
        var items = new List <RazorProjectItem>
        {
            CreateProjectItem("/File.cshtml")
        };
        var project = new TestRazorProject(items);

        // Act
        var result = project.FindHierarchicalItems(path, "File.cshtml");

        // Assert
        Assert.Collection(
            result,
            item => Assert.Equal("/File.cshtml", item.FilePath));
    }
Esempio n. 6
0
    public void FindHierarchicalItems_ReturnsEmptySequenceIfPathIsNotASubPathOfBasePath()
    {
        // Arrange
        var basePath = "/Pages";
        var path     = "/Areas/MyArea/Views/Home/Test.cshtml";
        var items    = new List <RazorProjectItem>
        {
            CreateProjectItem("/Areas/MyArea/File.cshtml"),
            CreateProjectItem("/File.cshtml"),
        };
        var project = new TestRazorProject(items);

        // Act
        var result = project.FindHierarchicalItems(basePath, path, "File.cshtml");

        // Assert
        Assert.Empty(result);
    }
Esempio n. 7
0
    public void FindHierarchicalItems_ReturnsItemsForPath(string fileName)
    {
        // Arrange
        var path  = "/Views/Home/Index.cshtml";
        var items = new List <RazorProjectItem>
        {
            CreateProjectItem($"/{fileName}"),
            CreateProjectItem($"/Views/{fileName}"),
            CreateProjectItem($"/Views/Home/{fileName}")
        };
        var project = new TestRazorProject(items);

        // Act
        var result = project.FindHierarchicalItems(path, $"{fileName}");

        // Assert
        Assert.Collection(
            result,
            item => Assert.Equal($"/Views/Home/{fileName}", item.FilePath),
            item => Assert.Equal($"/Views/{fileName}", item.FilePath),
            item => Assert.Equal($"/{fileName}", item.FilePath));
    }