Skip to content

Commit c080409

Browse files
committed
#656 Changed handling of files which are not found in source directory
1 parent 2b0ce9c commit c080409

File tree

4 files changed

+21
-18
lines changed

4 files changed

+21
-18
lines changed

src/Readme.txt

+4
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@ For further details take a look at LICENSE.txt.
6767

6868
CHANGELOG
6969

70+
5.2.3.0
71+
72+
* Fix: #656 Changed handling of files which are not found in source directory
73+
7074
5.2.2.0
7175

7276
* New: #651 Added setting to add custom prefix to generated history files

src/ReportGenerator.Core.Test/Parser/Analysis/CodeFileTest.cs

+4-4
Original file line numberDiff line numberDiff line change
@@ -257,8 +257,8 @@ public void AnalyzeFile_NonExistingFile_AnalysisIsReturned()
257257
Assert.NotNull(fileAnalysis);
258258
Assert.NotNull(fileAnalysis.Error);
259259
Assert.Equal(fileAnalysis.Path, fileAnalysis.Path);
260-
Assert.Null(sut.TotalLines);
261-
Assert.Empty(fileAnalysis.Lines);
260+
Assert.Equal(4, sut.TotalLines);
261+
Assert.Equal(4, fileAnalysis.Lines.Count());
262262
}
263263

264264
/// <summary>
@@ -311,8 +311,8 @@ public void AnalyzeFile_AdditionFileReaderReturnsError_RegularFileReaderUsed()
311311
Assert.NotNull(fileAnalysis);
312312
Assert.NotNull(fileAnalysis.Error);
313313
Assert.Equal(fileAnalysis.Path, fileAnalysis.Path);
314-
Assert.Null(sut.TotalLines);
315-
Assert.Empty(fileAnalysis.Lines);
314+
Assert.Equal(4, sut.TotalLines);
315+
Assert.Equal(4, fileAnalysis.Lines.Count());
316316

317317
additionalFileReaderMock.Verify(f => f.LoadFile(It.IsAny<string>(), out error), Times.Once);
318318
fileReaderMock.Verify(f => f.LoadFile(It.IsAny<string>(), out error), Times.Once);

src/ReportGenerator.Core/Parser/Analysis/CodeFile.cs

+4-2
Original file line numberDiff line numberDiff line change
@@ -426,14 +426,16 @@ internal FileAnalysis AnalyzeFile(IFileReader fileReader)
426426
if (error != null)
427427
{
428428
Logger.Error(error);
429-
return new FileAnalysis(this.Path, error);
429+
lines = this.lineCoverage
430+
.Select(l => string.Empty)
431+
.ToArray();
430432
}
431433

432434
this.TotalLines = lines.Length;
433435

434436
int currentLineNumber = 0;
435437

436-
var result = new FileAnalysis(this.Path);
438+
var result = new FileAnalysis(this.Path, error);
437439
ICollection<Branch> branchesOfLine = null;
438440

439441
foreach (var line in lines)

src/ReportGenerator.Core/Reporting/Builders/XmlReportBuilder.cs

+9-12
Original file line numberDiff line numberDiff line change
@@ -125,21 +125,18 @@ public override void CreateClassReport(Class @class, IEnumerable<FileAnalysis> f
125125
{
126126
var fileElement = new XElement("File", new XAttribute("name", fileAnalysis.Path));
127127

128-
if (string.IsNullOrEmpty(fileAnalysis.Error))
128+
foreach (var line in fileAnalysis.Lines)
129129
{
130-
foreach (var line in fileAnalysis.Lines)
131-
{
132-
var lineElement = new XElement("LineAnalysis");
130+
var lineElement = new XElement("LineAnalysis");
133131

134-
lineElement.Add(new XAttribute("line", line.LineNumber.ToString(CultureInfo.InvariantCulture)));
135-
lineElement.Add(new XAttribute("visits", line.LineVisits.ToString(CultureInfo.InvariantCulture)));
136-
lineElement.Add(new XAttribute("coverage", line.LineVisitStatus.ToString()));
137-
lineElement.Add(new XAttribute("coveredbranches", line.CoveredBranches.HasValue ? line.CoveredBranches.Value.ToString(CultureInfo.InvariantCulture) : string.Empty));
138-
lineElement.Add(new XAttribute("totalbranches", line.TotalBranches.HasValue ? line.TotalBranches.Value.ToString(CultureInfo.InvariantCulture) : string.Empty));
139-
lineElement.Add(new XAttribute("content", StringHelper.ReplaceInvalidXmlChars(line.LineContent)));
132+
lineElement.Add(new XAttribute("line", line.LineNumber.ToString(CultureInfo.InvariantCulture)));
133+
lineElement.Add(new XAttribute("visits", line.LineVisits.ToString(CultureInfo.InvariantCulture)));
134+
lineElement.Add(new XAttribute("coverage", line.LineVisitStatus.ToString()));
135+
lineElement.Add(new XAttribute("coveredbranches", line.CoveredBranches.HasValue ? line.CoveredBranches.Value.ToString(CultureInfo.InvariantCulture) : string.Empty));
136+
lineElement.Add(new XAttribute("totalbranches", line.TotalBranches.HasValue ? line.TotalBranches.Value.ToString(CultureInfo.InvariantCulture) : string.Empty));
137+
lineElement.Add(new XAttribute("content", StringHelper.ReplaceInvalidXmlChars(line.LineContent)));
140138

141-
fileElement.Add(lineElement);
142-
}
139+
fileElement.Add(lineElement);
143140
}
144141

145142
filesElement.Add(fileElement);

0 commit comments

Comments
 (0)