Пример #1
0
        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",
            });
        }
Пример #2
0
        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" });
        }
Пример #3
0
        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"
            });
        }
Пример #4
0
        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();
        }
Пример #5
0
        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();
        }
Пример #6
0
        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" });
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
        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);
        }
Пример #10
0
        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);
        }
Пример #11
0
        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);
        }