public Codegram GenerateCodegramFromDiffContent(string diffContent, int maxSize) { GitDiffParser parser = new GitDiffParser(); var diffInfo = parser.Parse(diffContent); return(GenerateCodegramFromDiffContent(diffInfo, maxSize)); }
public void Parse_EmptyGitDiff_Expect0HunkRangeInfos() { //Arrange var gitDiffParser = new GitDiffParser(EmptyGitDiff, 0); //Act var hunkRangeInfos = gitDiffParser.Parse().ToList(); //Assert hunkRangeInfos.Count.ShouldBe(0); }
public void Parse_DiffFromLibGit_Expect5HunkRangeInfos() { //Arrange var gitDiffParser = new GitDiffParser(DiffFromLibGit, 0); //Act var hunkRangeInfos = gitDiffParser.Parse().ToList(); //Assert hunkRangeInfos.Count.ShouldBe(5); }
public void Parse_DiffFromLibGit_ExpectFifthHunkRangeToBeAddition() { //Arrange var gitDiffParser = new GitDiffParser(DiffFromLibGit, 0); //Act var hunkRangeInfos = gitDiffParser.Parse().ToList(); //Assert hunkRangeInfos[4].IsDeletion.ShouldBe(false); hunkRangeInfos[4].IsAddition.ShouldBe(true); hunkRangeInfos[4].IsModification.ShouldBe(false); }
public void Parse_DiffFromLibGit_ExpectSecondHunkRangeOriginalText() { //Arrange var gitDiffParser = new GitDiffParser(DiffFromLibGit, 0); //Act var hunkRangeInfos = gitDiffParser.Parse().ToList(); //Assert hunkRangeInfos[1].OriginalText.ShouldBe(new List <string> { " class Class1" }); }
public void Parse_WithOneHunkWithoutLineCount_ExpectHunkRanges() { //Arrange var gitDiffParser = new GitDiffParser(ThirdGitDiff, 0); //Act var hunkRanges = gitDiffParser.Parse().ToList(); //Assert hunkRanges[0].OriginalHunkRange.StartingLineNumber.ShouldBe(0); hunkRanges[0].OriginalHunkRange.NumberOfLines.ShouldBe(1); hunkRanges[0].NewHunkRange.StartingLineNumber.ShouldBe(0); hunkRanges[0].NewHunkRange.NumberOfLines.ShouldBe(1); }
private static void ParseUnifiedDiff(string path, GitDiffParser diffParser, GitCommit commit) { commit.Difflets = diffParser.Parse(commit.UnifiedDiff); foreach (var file in commit.Files) { if (file.Status != "A") { file.BeforeText = GitCommands.ShowFileBeforeCommit(path, commit.Sha, file.File); } if (file.Status != "D") { file.AfterText = GitCommands.ShowFileAfterCommit(path, commit.Sha, file.File); } } }
static void PrintDiff(string diffFile) { GitDiffParser parser = new GitDiffParser(); var chunks = parser.Parse(File.ReadAllText(diffFile)); foreach (var file in chunks.Files) { foreach (var hunk in file.Hunks) { Console.WriteLine(string.Format("{0} {1} #{2} {3}", hunk.FileName, hunk.NewHunkRange.StartingLineNumber, hunk.NewHunkRange.NumberOfLines, hunk.IsModification )); } } }
public void Parse_WithThreeHunk_ExpectHunkRanges() { //Arrange var gitDiffParser = new GitDiffParser(SecondGitDiff, 0); //Act var hunkRanges = gitDiffParser.Parse().ToList(); //Assert hunkRanges[0].OriginalHunkRange.StartingLineNumber.ShouldBe(67); hunkRanges[0].OriginalHunkRange.NumberOfLines.ShouldBe(2); hunkRanges[0].NewHunkRange.StartingLineNumber.ShouldBe(66); hunkRanges[0].NewHunkRange.NumberOfLines.ShouldBe(0); hunkRanges[1].OriginalHunkRange.StartingLineNumber.ShouldBe(169); hunkRanges[1].OriginalHunkRange.NumberOfLines.ShouldBe(0); hunkRanges[1].NewHunkRange.StartingLineNumber.ShouldBe(168); hunkRanges[1].NewHunkRange.NumberOfLines.ShouldBe(27); hunkRanges[2].OriginalHunkRange.StartingLineNumber.ShouldBe(184); hunkRanges[2].OriginalHunkRange.NumberOfLines.ShouldBe(2); hunkRanges[2].NewHunkRange.StartingLineNumber.ShouldBe(208); hunkRanges[2].NewHunkRange.NumberOfLines.ShouldBe(0); }