public void GetImports_CanQueryInformationOnNonExistentFileWithImports() { // Arrange var path = "/Views/Home/MyImport.cshtml"; var projectItem = new TestRazorProjectItem(path); var project = new TestRazorProject(new[] { projectItem }); var razorEngine = RazorEngine.Create(); var templateEngine = new RazorTemplateEngine(razorEngine, project) { Options = { ImportsFileName = "MyImport.cshtml" } }; var projectItemToQuery = project.GetItem("/Views/Home/Index.cshtml"); // Act var imports = templateEngine.GetImports(projectItemToQuery); // Assert var import = Assert.Single(imports); Assert.Equal(projectItem.FilePath, import.FilePath); }
public void CreateCodeDocument_IncludesImportsIfFileIsPresent() { // Arrange 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 razorEngine = RazorEngine.Create(); var templateEngine = new RazorTemplateEngine(razorEngine, project) { Options = { ImportsFileName = "MyImport.cshtml", } }; // Act var codeDocument = templateEngine.CreateCodeDocument("/Views/Home/Index.cshtml"); // Assert Assert.Collection(codeDocument.Imports, import => Assert.Equal("/MyImport.cshtml", import.FilePath), import => Assert.Equal("/Views/Home/MyImport.cshtml", import.FilePath)); }