Include default imports when ImportsFileName is null
This commit is contained in:
parent
aa597309a2
commit
310ccc31d0
|
|
@ -188,20 +188,19 @@ namespace Microsoft.AspNetCore.Razor.Evolution
|
|||
throw new InvalidOperationException(Resources.FormatRazorTemplateEngine_ItemCouldNotBeFound(projectItem.Path));
|
||||
}
|
||||
|
||||
var importsFileName = Options.ImportsFileName;
|
||||
if (string.IsNullOrEmpty(importsFileName))
|
||||
{
|
||||
return Enumerable.Empty<RazorSourceDocument>();
|
||||
}
|
||||
|
||||
var result = new List<RazorSourceDocument>();
|
||||
var importProjectItems = Project.FindHierarchicalItems(projectItem.Path, importsFileName);
|
||||
foreach (var importItem in importProjectItems)
|
||||
|
||||
var importsFileName = Options.ImportsFileName;
|
||||
if (!string.IsNullOrEmpty(importsFileName))
|
||||
{
|
||||
if (importItem.Exists)
|
||||
var importProjectItems = Project.FindHierarchicalItems(projectItem.Path, importsFileName);
|
||||
foreach (var importItem in importProjectItems)
|
||||
{
|
||||
// We want items in descending order. FindHierarchicalItems returns items in ascending order.
|
||||
result.Insert(0, RazorSourceDocument.ReadFrom(importItem));
|
||||
if (importItem.Exists)
|
||||
{
|
||||
// We want items in descending order. FindHierarchicalItems returns items in ascending order.
|
||||
result.Insert(0, RazorSourceDocument.ReadFrom(importItem));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -191,5 +191,29 @@ namespace Microsoft.AspNetCore.Razor.Evolution
|
|||
import => Assert.Equal("/MyImport.cshtml", import.FileName),
|
||||
import => Assert.Equal("/Views/Home/MyImport.cshtml", import.FileName));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void CreateCodeDocument_NullImportFileName_IncludesDefaultImportIfNotNull()
|
||||
{
|
||||
// Arrange
|
||||
var projectItem = new TestRazorProjectItem("/Views/Home/Index.cshtml");
|
||||
var project = new TestRazorProject(new[] { projectItem });
|
||||
var razorEngine = RazorEngine.Create();
|
||||
var defaultImport = RazorSourceDocument.ReadFrom(new MemoryStream(), "Default.cshtml");
|
||||
var templateEngine = new RazorTemplateEngine(razorEngine, project)
|
||||
{
|
||||
Options =
|
||||
{
|
||||
DefaultImports = defaultImport,
|
||||
}
|
||||
};
|
||||
|
||||
// Act
|
||||
var codeDocument = templateEngine.CreateCodeDocument(projectItem);
|
||||
|
||||
// Assert
|
||||
Assert.Collection(codeDocument.Imports,
|
||||
import => Assert.Same(defaultImport, import));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue