Ejemplo n.º 1
0
        public void ParseGitBlame()
        {
            GitBlame result;

            using (_executable.StageOutput("rev-parse --git-common-dir", ".git"))
            {
                var path = Path.Combine(TestContext.CurrentContext.TestDirectory, @"TestData/README.blame");

                result = _gitModule.ParseGitBlame(File.ReadAllText(path), Encoding.UTF8);
            }

            Assert.AreEqual(80, result.Lines.Count);

            Assert.AreEqual(ObjectId.Parse("957ff3ce9193fec3bd2578378e71676841804935"), result.Lines[0].Commit.ObjectId);
            Assert.AreEqual("# Git Extensions", result.Lines[0].Text);

            Assert.AreEqual(1, result.Lines[0].OriginLineNumber);
            Assert.AreEqual(1, result.Lines[0].FinalLineNumber);

            Assert.AreSame(result.Lines[0].Commit, result.Lines[1].Commit);
            Assert.AreSame(result.Lines[0].Commit, result.Lines[6].Commit);

            Assert.AreEqual(ObjectId.Parse("e3268019c66da7534414e9562ececdee5d455b1b"), result.Lines.Last().Commit.ObjectId);
            Assert.AreEqual("", result.Lines.Last().Text);
        }