Don't calculate checksum in design time mode
This commit is contained in:
parent
5369842384
commit
d58a6c8c1b
|
|
@ -176,21 +176,27 @@ namespace Microsoft.AspNet.Razor
|
|||
string sourceFileName)
|
||||
{
|
||||
MemoryStream memoryStream = null;
|
||||
string checksum = null;
|
||||
try
|
||||
{
|
||||
if (!inputStream.CanSeek)
|
||||
if (!Host.DesignTimeMode)
|
||||
{
|
||||
memoryStream = new MemoryStream();
|
||||
inputStream.CopyTo(memoryStream);
|
||||
// We don't need to calculate the checksum in design time.
|
||||
|
||||
// We don't have to dispose the input stream since it is owned externally.
|
||||
inputStream = memoryStream;
|
||||
if (!inputStream.CanSeek)
|
||||
{
|
||||
memoryStream = new MemoryStream();
|
||||
inputStream.CopyTo(memoryStream);
|
||||
|
||||
// We don't have to dispose the input stream since it is owned externally.
|
||||
inputStream = memoryStream;
|
||||
}
|
||||
|
||||
inputStream.Position = 0;
|
||||
checksum = ComputeChecksum(inputStream);
|
||||
inputStream.Position = 0;
|
||||
}
|
||||
|
||||
inputStream.Position = 0;
|
||||
var checksum = ComputeChecksum(inputStream);
|
||||
inputStream.Position = 0;
|
||||
|
||||
using (var reader = new StreamReader(inputStream,
|
||||
Encoding.UTF8,
|
||||
detectEncodingFromByteOrderMarks: true,
|
||||
|
|
|
|||
|
|
@ -239,7 +239,7 @@ namespace Microsoft.AspNet.Razor.Test
|
|||
|
||||
[Theory]
|
||||
[MemberData(nameof(GenerateCodeCalculatesLinePragma_IfStreamInputIsUsedData))]
|
||||
public void GenerateCodeCalculatesLinePragma_IfStreamInputIsUsed(Stream stream)
|
||||
public void GenerateCodeCalculatesChecksum_IfStreamInputIsUsed(Stream stream)
|
||||
{
|
||||
// Arrange
|
||||
var engine = new TestableRazorTemplateEngine();
|
||||
|
|
@ -251,6 +251,20 @@ namespace Microsoft.AspNet.Razor.Test
|
|||
Assert.Equal("7b502c3a1f48c8609ae212cdfb639dee39673f5e", engine.Checksum);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void GenerateCode_DoesNotCalculateChecksum_InDesignTimeMode()
|
||||
{
|
||||
// Arrange
|
||||
var engine = new TestableRazorTemplateEngine();
|
||||
engine.Host.DesignTimeMode = true;
|
||||
|
||||
// Act
|
||||
var results = engine.GenerateCode(Stream.Null, "some-class", "some-ns", "foo.cshtml");
|
||||
|
||||
// Assert
|
||||
Assert.Null(engine.Checksum);
|
||||
}
|
||||
|
||||
private static RazorEngineHost CreateHost(bool designTime = false)
|
||||
{
|
||||
return new RazorEngineHost(new CSharpRazorCodeLanguage())
|
||||
|
|
@ -264,7 +278,6 @@ namespace Microsoft.AspNet.Razor.Test
|
|||
public TestableRazorTemplateEngine()
|
||||
: base(CreateHost())
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public string Checksum { get; set; }
|
||||
|
|
|
|||
Loading…
Reference in New Issue