public void ParseCountObjectsMissingImportantFields() { const string countObjects = @"count: 123 garbage: 4 "; Assert.Throws <KeyNotFoundException>(() => GitParsing.ParseCountObjects(countObjects)); }
public void ParseCountObjectsEmpty() { const string countObjects = ""; var result = GitParsing.ParseCountObjects(countObjects); Assert.Null(result); }
public void ParseFormatList() { const string archiveFormatList = "tar\ntgz\ntar.gz\nzip\n"; var expected = new[] { "tar", "tgz", "tar.gz", "zip" }; var actual = GitParsing.ParseArchiveFormatList(archiveFormatList); Assert.Equal(expected, actual); }
public void ParseEmptyStatus() { const string status = ""; var expected = new List <GitFileStatus>(); var results = GitParsing.ParseStatus(status); Assert.Equal(expected, results); }
public void ParseSimpleStatus() { const string status = "?? file.txt\0"; var expected = new List <GitFileStatus>() { (GitChangeType.Untracked, GitChangeType.Untracked, Path : "file.txt", null) }; var results = GitParsing.ParseStatus(status); Assert.Equal(expected, results); }
public void ParseRenameStatus() { const string status = "R newfile.txt\0file.txt\0?? file2.txt\0?? file3.txt\0"; var expected = new List <GitFileStatus>() { (GitChangeType.Renamed, GitChangeType.Unmodified, Path : "file.txt", OriginalPath : "newfile.txt"), (GitChangeType.Untracked, GitChangeType.Untracked, Path : "file2.txt", OriginalPath : null), (GitChangeType.Untracked, GitChangeType.Untracked, Path : "file3.txt", OriginalPath : null), }; var results = GitParsing.ParseStatus(status); Assert.Equal(expected, results); }
public void ParseCountObjectsMissingFields() { const string countObjects = @"count: 123 size: 1099511627776 garbage: 4 size-garbage: 2199023255552 "; var expected = new GitObjectCount(count: 123, size: 1099511627776, garbage: 4, garbageSize: 2199023255552); var result = GitParsing.ParseCountObjects(countObjects); Assert.Equal(expected, result); }
public void ParseNoParentCommit() { const string GIT_OUTPUT_NO_PARENTS = "52c293a05038d865604c2284aa8698bd087915a1 \n" + "1234567\n" + "[email protected]\n" + "\n" + "This is a commit message."; var expected = new GitCommit("52c293a05038d865604c2284aa8698bd087915a1", "This is a commit message.", Array.Empty <string>(), Array.Empty <string>(), "*****@*****.**", DateTimeOffset.FromUnixTimeSeconds(1234567)); var actual = GitParsing.ParseCommit(GIT_OUTPUT_NO_PARENTS); Assert.StrictEqual(expected, actual); }
public void ParseMultipleRefCommit() { const string GIT_OUTPUT_MULTIPLE_REFS = "1e1c799a41204d17181d98403dd4f581b369aea9 restore1, restore2, restore3, restore4\n" + "1234567\n" + "[email protected]\n" + "8e5a374372b8393906c7e380dbb09349c5385554 df27d8c75b129ab9b178b386077da2822101b217\n" + "This is a commit message."; var expected = new GitCommit("1e1c799a41204d17181d98403dd4f581b369aea9", "This is a commit message.", new[] { "8e5a374372b8393906c7e380dbb09349c5385554", "df27d8c75b129ab9b178b386077da2822101b217" }, new[] { "restore1", "restore2", "restore3", "restore4" }, "*****@*****.**", DateTimeOffset.FromUnixTimeSeconds(1234567)); var actual = GitParsing.ParseCommit(GIT_OUTPUT_MULTIPLE_REFS); Assert.StrictEqual(expected, actual); }
public void ParseMultipleParentCommit() { const string GIT_OUTPUT_MULTIPLE_PARENTS = "52c293a05038d865604c2284aa8698bd087915a1 \n" + "1234567\n" + "[email protected]\n" + "8e5a374372b8393906c7e380dbb09349c5385554 df27d8c75b129ab9b178b386077da2822101b217\n" + "This is a commit message."; var expected = new GitCommit("52c293a05038d865604c2284aa8698bd087915a1", "This is a commit message.", new[] { "8e5a374372b8393906c7e380dbb09349c5385554", "df27d8c75b129ab9b178b386077da2822101b217" }, Array.Empty <string>(), "*****@*****.**", DateTimeOffset.FromUnixTimeSeconds(1234567)); var actual = GitParsing.ParseCommit(GIT_OUTPUT_MULTIPLE_PARENTS); Assert.StrictEqual(expected, actual); }
public void ParseSingleRefCommit() { const string GIT_OUTPUT_SINGLE_REF = "d01ec56a830e10afe94d0fce6e61e9837eef381b somebranchname123\n" + "1234567\n" + "[email protected]\n" + "8e5a374372b8393906c7e380dbb09349c5385554\n" + "This is a commit message."; var expected = new GitCommit("d01ec56a830e10afe94d0fce6e61e9837eef381b", "This is a commit message.", new[] { "8e5a374372b8393906c7e380dbb09349c5385554" }, new[] { "somebranchname123" }, "*****@*****.**", DateTimeOffset.FromUnixTimeSeconds(1234567)); var actual = GitParsing.ParseCommit(GIT_OUTPUT_SINGLE_REF); Assert.StrictEqual(expected, actual); }
public void ParseSingleParentCommit() { const string GIT_OUTPUT_SINGLE_PARENT = "52c293a05038d865604c2284aa8698bd087915a1 \n" + "1234567\n" + "[email protected]\n" + "8e5a374372b8393906c7e380dbb09349c5385554\n" + "This is a commit message."; var expected = new GitCommit("52c293a05038d865604c2284aa8698bd087915a1", "This is a commit message.", new[] { "8e5a374372b8393906c7e380dbb09349c5385554" }, Array.Empty <string>(), "*****@*****.**", DateTimeOffset.FromUnixTimeSeconds(1234567)); var actual = GitParsing.ParseCommit(GIT_OUTPUT_SINGLE_PARENT); Assert.StrictEqual(expected, actual); }
public void ParseCountObjects() { const string countObjects = @"count: 123 size: 1099511627776 in-pack: 1 packs: 2 size-pack: 4398046511104 prune-packable: 3 garbage: 4 size-garbage: 2199023255552 "; var expected = new GitObjectCount(count: 123, size: 1099511627776, inPack: 1, packs: 2, packSize: 4398046511104, prunePackable: 3, garbage: 4, garbageSize: 2199023255552); var result = GitParsing.ParseCountObjects(countObjects); Assert.Equal(expected, result); }
public void FileStatusLooksLikePorcelain() { const string status = "A newfile.txt\0" + "R oldfile.txt\0renamedfile.txt\0" + "D deletedfile.txt\0" + "?? untrackedfile.txt\0"; var expected = new List <GitFileStatus>() { (GitChangeType.Added, GitChangeType.Unmodified, Path : "newfile.txt", OriginalPath : null), (GitChangeType.Renamed, GitChangeType.Unmodified, Path : "renamedfile.txt", OriginalPath : "oldfile.txt"), (GitChangeType.Deleted, GitChangeType.Unmodified, Path : "deletedfile.txt", OriginalPath : null), (GitChangeType.Untracked, GitChangeType.Untracked, Path : "untrackedfile.txt", OriginalPath : null), }; var results = GitParsing.ParseStatus(status).ToList(); Assert.Equal(expected, results); Assert.Equal("A newfile.txt", results[0].ToString()); Assert.Equal("R oldfile.txt -> renamedfile.txt", results[1].ToString()); Assert.Equal("D deletedfile.txt", results[2].ToString()); Assert.Equal("?? untrackedfile.txt", results[3].ToString()); }
public void ParseVersion() { var result = GitParsing.ParseVersion("git version 2.18.0.windows.1"); Assert.Equal("2.18.0.windows.1", result); }