public void GetItem_ReturnsNotFoundResult() { // Arrange var fileProvider = new TestFileProvider("BasePath"); var file = fileProvider.AddFile("/SomeFile.cshtml", "content"); fileProvider.AddDirectoryContent("/", new IFileInfo[] { file }); var accessor = Mock.Of <IRazorViewEngineFileProviderAccessor>(a => a.FileProvider == fileProvider); var fileSystem = new FileProviderRazorProjectFileSystem(accessor, Mock.Of <IHostingEnvironment>(e => e.ContentRootPath == "BasePath")); // Act var item = fileSystem.GetItem("/NotFound.cshtml"); // Assert Assert.False(item.Exists); }
public void GetItem_PhysicalPathDoesNotStartWithContentRoot_ReturnsNull() { var fileProvider = new TestFileProvider("BasePath2"); var file1 = fileProvider.AddFile("/File1.cshtml", "content"); var file2 = fileProvider.AddFile("/File2.js", "content"); var file3 = fileProvider.AddFile("/File3.cshtml", "content"); fileProvider.AddDirectoryContent("/", new IFileInfo[] { file1, file2, file3 }); var accessor = Mock.Of <IRazorViewEngineFileProviderAccessor>(a => a.FileProvider == fileProvider); var fileSystem = new FileProviderRazorProjectFileSystem(accessor, Mock.Of <IHostingEnvironment>(e => e.ContentRootPath == "BasePath")); // Act var item = fileSystem.GetItem("/File3.cshtml"); // Assert Assert.True(item.Exists); Assert.Equal("/File3.cshtml", item.FilePath); Assert.Equal(string.Empty, item.BasePath); Assert.Equal(Path.Combine("BasePath2", "File3.cshtml"), item.PhysicalPath); Assert.Null(item.RelativePhysicalPath); }