Skip to content

Commit

Permalink
Include skipped diff and empty lines from active revision when diffing (
Browse files Browse the repository at this point in the history
  • Loading branch information
praveenkuttappan authored Feb 27, 2025
1 parent 4244add commit 2a36ecd
Show file tree
Hide file tree
Showing 5 changed files with 11,702 additions and 1 deletion.
6 changes: 6 additions & 0 deletions src/dotnet/APIView/APIViewUnitTests/APIViewUnitTests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,12 @@
<None Update="SampleTestFiles\azure-core-1.47.0-sources4.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="SampleTestFiles\azure-schemaregistry_python.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="SampleTestFiles\azure-schemaregistry_python_diff.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="SampleTestFiles\azure.data.tables.12.9.0_doc_change.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
Expand Down
30 changes: 30 additions & 0 deletions src/dotnet/APIView/APIViewUnitTests/CodeFileTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -185,5 +185,35 @@ public async Task TestCodeFileComparisonWithChangeInSkippedLines()
var diff = CodeFileHelpers.FindDiff(codeFileA.ReviewLines, codeFileB.ReviewLines);
Assert.False(FindAnyDiffLine(diff));
}

[Fact]
public async Task VerifyPythonDiff()
{
var codeFileA = new CodeFile();
var codeFileB = new CodeFile();
var filePath = Path.Combine("SampleTestFiles", "azure-schemaregistry_python.json");
var fileInfo = new FileInfo(filePath);
var fileStream = fileInfo.Open(FileMode.Open, FileAccess.Read, FileShare.Read);
codeFileA = await CodeFile.DeserializeAsync(fileStream);
filePath = Path.Combine("SampleTestFiles", "azure-schemaregistry_python_diff.json");
fileInfo = new FileInfo(filePath);
fileStream = fileInfo.Open(FileMode.Open, FileAccess.Read, FileShare.Read);
codeFileB = await CodeFile.DeserializeAsync(fileStream);
bool isSame = CodeFileHelpers.AreCodeFilesSame(codeFileA, codeFileB);
Assert.False(isSame);

var diff = CodeFileHelpers.FindDiff(codeFileA.ReviewLines, codeFileB.ReviewLines);
Assert.True(FindAnyDiffLine(diff));

//Verify first line in diff view is the global text
Assert.True(diff.First().LineId == "GLOBAL");

//Verify that last line of namespace line's children is empty line
var namespaceLine = diff.First(l=>l.LineId == "azure.schemaregistry");
Assert.Equal("namespace azure.schemaregistry", namespaceLine.ToString());

Assert.True(namespaceLine.Children.Last().Tokens.Count == 0);

}
}
}

Large diffs are not rendered by default.

Loading

0 comments on commit 2a36ecd

Please sign in to comment.