public void Should_parse_merge_log() { log = new GitLogExtended(log_8.ToStream(), null, null); log.TouchedFiles.Count() .Should().Be(11); log.TouchedFiles .Where(x => x.Action == TouchedFileAction.MODIFIED) .Count() .Should().Be(8); log.TouchedFiles .Where(x => x.Action == TouchedFileAction.ADDED) .Select(x => x.Path) .Should().BeEquivalentTo(new string[] { "/log-tree.c", "/log-tree.h", }); log.TouchedFiles .Where(x => x.Action == TouchedFileAction.REMOVED) .Select(x => x.Path) .Should().BeEquivalentTo(new string[] { "/diffcore-pathspec.c", }); }
public void Should_ignore_links() { log = new GitLogExtended(log_6.ToStream(), null, null); log.TouchedFiles.Select(x => x.Path) .Should().BeEquivalentTo(new string[] { "/src/capstone_wrapper/capstone_wrapper.h" }); }
public void Should_interpret_renamed_file_as_deleted_and_added() { log = new GitLogExtended(log_3.ToStream(), null, null); log.TouchedFiles.Count() .Should().Be(8); log.TouchedFiles .Where(x => x.Action == TouchedFileAction.MODIFIED) .Count() .Should().Be(4); log.TouchedFiles .Where(x => x.Action == TouchedFileAction.ADDED) .Select(x => x.Path) .Should().BeEquivalentTo(new string[] { "/Documentation/git-diff-helper.txt", "/diff-helper.c" }); log.TouchedFiles .Where(x => x.Action == TouchedFileAction.REMOVED) .Select(x => x.Path) .Should().BeEquivalentTo(new string[] { "/Documentation/git-diff-tree-helper.txt", "/diff-tree-helper.c" }); }
public void Should_interpret_file_mode_change_as_usual_modification() { log = new GitLogExtended(log_7.ToStream(), null, null); log.TouchedFiles.Count() .Should().Be(4); log.TouchedFiles.All(x => x.Action == TouchedFileAction.MODIFIED) .Should().BeTrue(); }
public void Should_identify_file_action_correctly_for_path_with_spaces() { log = new GitLogExtended(log_10.ToStream(), null, null); log.TouchedFiles.All(x => x.Action == TouchedFileAction.ADDED) .Should().BeTrue(); log.TouchedFiles .SingleOrDefault(x => x.Path == "/test/the files to test.generated.js") .Should().NotBeNull(); }
public void Should_be_ready_for_spaces_in_paths_for_renamed_file() { log = new GitLogExtended(log_9.ToStream(), null, null); log.TouchedFiles.Select(x => x.Path) .Should().BeEquivalentTo( new string[] { "/aaa bbb.txt", "/aaa bbb ccc.txt" }); log.TouchedFiles.Select(x => x.SourcePath) .Should().BeEquivalentTo( new string[] { null, "/aaa bbb.txt" }); }
public void Should_get_touched_files() { log = new GitLogExtended(log_1.ToStream(), null, null); log.TouchedFiles.Count() .Should().Be(11); log.TouchedFiles.Where(x => x.Action == TouchedFileAction.MODIFIED).Count() .Should().Be(7); log.TouchedFiles.Where(x => x.Action == TouchedFileAction.ADDED).Count() .Should().Be(2); log.TouchedFiles.Where(x => x.Action == TouchedFileAction.REMOVED).Count() .Should().Be(2); }
public void Should_keep_source_path_for_renamed_path() { log = new GitLogExtended(log_3.ToStream(), null, null); Assert.Equal( "/diff-tree-helper.c", log.TouchedFiles .Single(x => x.Path == "/diff-helper.c") .SourcePath); Assert.Equal( "/Documentation/git-diff-tree-helper.txt", log.TouchedFiles .Single(x => x.Path == "/Documentation/git-diff-helper.txt") .SourcePath); }
public void Should_identify_file_type() { log = new GitLogExtended(log_2.ToStream(), null, null); log.TouchedFiles.Count() .Should().Be(8); log.TouchedFiles.Where(x => x.Type == TouchedFile.ContentType.BINARY).Count() .Should().Be(7); var file = log.TouchedFiles.Single(x => x.Type == TouchedFile.ContentType.TEXT); Assert.Equal("/.gitignore", file.Path); Assert.Equal(TouchedFileAction.MODIFIED, file.Action); Assert.Null(file.SourcePath); Assert.Null(file.SourceRevision); }
public void Can_deal_with_folder_renaming() { log = new GitLogExtended(log_5.ToStream(), null, null); Assert.Equal(8, log.TouchedFiles.Count()); Assert.Equal(4, log.TouchedFiles .Where(x => x.Action == TouchedFileAction.ADDED) .Count()); Assert.Equal(4, log.TouchedFiles .Where(x => x.Action == TouchedFileAction.REMOVED) .Count()); Assert.Equal("/x64_dbg_gui/Project/Src/TabBar.cpp", log.TouchedFiles .Single(x => x.Path == "/x64_dbg_gui/Project/Src/Gui/TabBar.cpp") .SourcePath); }
public void Should_interpret_copied_file_as_added_and_keep_source_path() { log = new GitLogExtended(log_4.ToStream(), null, null); Assert.Equal(27, log.TouchedFiles.Count()); Assert.Equal(5, log.TouchedFiles .Where(x => x.Action == TouchedFileAction.ADDED) .Count()); Assert.Equal(1, (int)log.TouchedFiles .Where(x => x.Action == TouchedFileAction.REMOVED) .Count()); Assert.Equal("/help/cls.htm", log.TouchedFiles .Single(x => x.Path == "/help/StartScylla_scylla_imprec.htm") .SourcePath); Assert.Equal("/help/cls.htm", log.TouchedFiles .Single(x => x.Path == "/help/StopDebug_stop_dbgstop.htm") .SourcePath); }