public virtual void TestParse_GitBinaryDelta()
        {
            NGit.Patch.Patch p = ParseTestPatchFile();
            NUnit.Framework.Assert.AreEqual(1, p.GetFiles().Count);
            NUnit.Framework.Assert.IsTrue(p.GetErrors().IsEmpty());
            FileHeader fh = p.GetFiles()[0];

            NUnit.Framework.Assert.IsTrue(fh.GetNewPath().StartsWith("zero.bin"));
            NUnit.Framework.Assert.AreEqual(DiffEntry.ChangeType.MODIFY, fh.GetChangeType());
            NUnit.Framework.Assert.AreEqual(FileHeader.PatchType.GIT_BINARY, fh.GetPatchType(
                                                ));
            NUnit.Framework.Assert.AreSame(FileMode.REGULAR_FILE, fh.GetNewMode());
            NUnit.Framework.Assert.IsNotNull(fh.GetOldId());
            NUnit.Framework.Assert.IsNotNull(fh.GetNewId());
            NUnit.Framework.Assert.AreEqual("08e7df176454f3ee5eeda13efa0adaa54828dfd8", fh.GetOldId
                                                ().Name);
            NUnit.Framework.Assert.AreEqual("d70d8710b6d32ff844af0ee7c247e4b4b051867f", fh.GetNewId
                                                ().Name);
            NUnit.Framework.Assert.IsTrue(fh.GetHunks().IsEmpty());
            NUnit.Framework.Assert.IsFalse(fh.HasMetaDataChanges());
            BinaryHunk fwd = fh.GetForwardBinaryHunk();
            BinaryHunk rev = fh.GetReverseBinaryHunk();

            NUnit.Framework.Assert.IsNotNull(fwd);
            NUnit.Framework.Assert.IsNotNull(rev);
            NUnit.Framework.Assert.AreEqual(12, fwd.GetSize());
            NUnit.Framework.Assert.AreEqual(11, rev.GetSize());
            NUnit.Framework.Assert.AreSame(fh, fwd.GetFileHeader());
            NUnit.Framework.Assert.AreSame(fh, rev.GetFileHeader());
            NUnit.Framework.Assert.AreEqual(BinaryHunk.Type.DELTA_DEFLATED, fwd.GetType());
            NUnit.Framework.Assert.AreEqual(BinaryHunk.Type.DELTA_DEFLATED, rev.GetType());
            NUnit.Framework.Assert.AreEqual(496, fh.endOffset);
        }
Exemplo n.º 2
0
        public virtual void TestParseAbbrIndexLine_NoMode()
        {
            int        a   = 7;
            string     oid = "78981922613b2afb6025042ff6bd878ac1994e85";
            string     nid = "61780798228d17af2d34fce4cfbdf35556832472";
            FileHeader fh  = Data("diff --git a/a b/a\n" + "index " + Sharpen.Runtime.Substring
                                      (oid, 0, a - 1) + ".." + Sharpen.Runtime.Substring(nid, 0, a - 1) + "\n" + "--- a/a\n"
                                  + "+++ b/a\n");

            AssertParse(fh);
            NUnit.Framework.Assert.AreEqual("a", fh.GetOldPath());
            NUnit.Framework.Assert.AreEqual("a", fh.GetNewPath());
            NUnit.Framework.Assert.IsNull(fh.GetOldMode());
            NUnit.Framework.Assert.IsNull(fh.GetNewMode());
            NUnit.Framework.Assert.IsFalse(fh.HasMetaDataChanges());
            NUnit.Framework.Assert.IsNotNull(fh.GetOldId());
            NUnit.Framework.Assert.IsNotNull(fh.GetNewId());
            NUnit.Framework.Assert.IsFalse(fh.GetOldId().IsComplete);
            NUnit.Framework.Assert.IsFalse(fh.GetNewId().IsComplete);
            NUnit.Framework.Assert.AreEqual(Sharpen.Runtime.Substring(oid, 0, a - 1), fh.GetOldId
                                                ().Name);
            NUnit.Framework.Assert.AreEqual(Sharpen.Runtime.Substring(nid, 0, a - 1), fh.GetNewId
                                                ().Name);
            NUnit.Framework.Assert.IsTrue(ObjectId.FromString(oid).StartsWith(fh.GetOldId()));
            NUnit.Framework.Assert.IsTrue(ObjectId.FromString(nid).StartsWith(fh.GetNewId()));
        }
        public virtual void TestParse_AddNoNewline()
        {
            NGit.Patch.Patch p = ParseTestPatchFile();
            NUnit.Framework.Assert.AreEqual(1, p.GetFiles().Count);
            NUnit.Framework.Assert.IsTrue(p.GetErrors().IsEmpty());
            FileHeader f = p.GetFiles()[0];

            NUnit.Framework.Assert.AreEqual("a", f.GetNewPath());
            NUnit.Framework.Assert.AreEqual(256, f.startOffset);
            NUnit.Framework.Assert.AreEqual("f2ad6c7", f.GetOldId().Name);
            NUnit.Framework.Assert.AreEqual("c59d9b6", f.GetNewId().Name);
            NUnit.Framework.Assert.AreEqual(FileHeader.PatchType.UNIFIED, f.GetPatchType());
            NUnit.Framework.Assert.AreSame(FileMode.REGULAR_FILE, f.GetOldMode());
            NUnit.Framework.Assert.AreSame(FileMode.REGULAR_FILE, f.GetNewMode());
            NUnit.Framework.Assert.AreEqual(1, f.GetHunks().Count);
            {
                HunkHeader h = f.GetHunks()[0];
                NUnit.Framework.Assert.AreSame(f, h.GetFileHeader());
                NUnit.Framework.Assert.AreEqual(321, h.startOffset);
                NUnit.Framework.Assert.AreEqual(1, h.GetOldImage().GetStartLine());
                NUnit.Framework.Assert.AreEqual(1, h.GetOldImage().GetLineCount());
                NUnit.Framework.Assert.AreEqual(1, h.GetNewStartLine());
                NUnit.Framework.Assert.AreEqual(1, h.GetNewLineCount());
                NUnit.Framework.Assert.AreEqual(0, h.GetLinesContext());
                NUnit.Framework.Assert.AreEqual(1, h.GetOldImage().GetLinesAdded());
                NUnit.Framework.Assert.AreEqual(1, h.GetOldImage().GetLinesDeleted());
                NUnit.Framework.Assert.AreSame(f.GetOldId(), h.GetOldImage().GetId());
                NUnit.Framework.Assert.AreEqual(367, h.endOffset);
            }
        }
Exemplo n.º 4
0
        public virtual void TestParseGitFileName_FailFooBar()
        {
            FileHeader fh = Data("a/foo b/bar\n-");

            NUnit.Framework.Assert.IsTrue(fh.ParseGitFileName(0, fh.buf.Length) > 0);
            NUnit.Framework.Assert.IsNull(fh.GetOldPath());
            NUnit.Framework.Assert.IsNull(fh.GetNewPath());
            NUnit.Framework.Assert.IsFalse(fh.HasMetaDataChanges());
        }
Exemplo n.º 5
0
        public virtual void TestParseUnicodeName_DeleteFile()
        {
            FileHeader fh = Data("diff --git \"a/\\303\\205ngstr\\303\\266m\" \"b/\\303\\205ngstr\\303\\266m\"\n"
                                 + "deleted file mode 100644\n" + "index 7898192..0000000\n" + "--- \"a/\\303\\205ngstr\\303\\266m\"\n"
                                 + "+++ /dev/null\n" + "@@ -1 +0,0 @@\n" + "-a\n");

            AssertParse(fh);
            NUnit.Framework.Assert.AreEqual("\u00c5ngstr\u00f6m", fh.GetOldPath());
            NUnit.Framework.Assert.AreEqual("/dev/null", fh.GetNewPath());
            NUnit.Framework.Assert.AreSame(DiffEntry.DEV_NULL, fh.GetNewPath());
            NUnit.Framework.Assert.AreEqual(DiffEntry.ChangeType.DELETE, fh.GetChangeType());
            NUnit.Framework.Assert.AreEqual(FileHeader.PatchType.UNIFIED, fh.GetPatchType());
            NUnit.Framework.Assert.IsTrue(fh.HasMetaDataChanges());
            NUnit.Framework.Assert.AreSame(FileMode.REGULAR_FILE, fh.GetOldMode());
            NUnit.Framework.Assert.AreSame(FileMode.MISSING, fh.GetNewMode());
            NUnit.Framework.Assert.AreEqual("7898192", fh.GetOldId().Name);
            NUnit.Framework.Assert.AreEqual("0000000", fh.GetNewId().Name);
            NUnit.Framework.Assert.AreEqual(0, fh.GetScore());
        }
Exemplo n.º 6
0
        public virtual void TestParseGitFileName_Foo()
        {
            string     name = "foo";
            FileHeader fh   = Header(name);

            NUnit.Framework.Assert.AreEqual(GitLine(name).Length, fh.ParseGitFileName(0, fh.buf
                                                                                      .Length));
            NUnit.Framework.Assert.AreEqual(name, fh.GetOldPath());
            NUnit.Framework.Assert.AreSame(fh.GetOldPath(), fh.GetNewPath());
            NUnit.Framework.Assert.IsFalse(fh.HasMetaDataChanges());
        }
Exemplo n.º 7
0
        public virtual void TestParseGitFileName_SrcFooCNonStandardPrefix()
        {
            string     name   = "src/foo/bar/argh/code.c";
            string     header = "project-v-1.0/" + name + " mydev/" + name + "\n";
            FileHeader fh     = Data(header + "-");

            NUnit.Framework.Assert.AreEqual(header.Length, fh.ParseGitFileName(0, fh.buf.Length
                                                                               ));
            NUnit.Framework.Assert.AreEqual(name, fh.GetOldPath());
            NUnit.Framework.Assert.AreSame(fh.GetOldPath(), fh.GetNewPath());
            NUnit.Framework.Assert.IsFalse(fh.HasMetaDataChanges());
        }
Exemplo n.º 8
0
        public virtual void TestParseGitFileName_DqFooSpLfNulBar()
        {
            string     name   = "foo \n\x0bar";
            string     dqName = "foo \\n\\0bar";
            FileHeader fh     = DqHeader(dqName);

            NUnit.Framework.Assert.AreEqual(DqGitLine(dqName).Length, fh.ParseGitFileName(0,
                                                                                          fh.buf.Length));
            NUnit.Framework.Assert.AreEqual(name, fh.GetOldPath());
            NUnit.Framework.Assert.AreSame(fh.GetOldPath(), fh.GetNewPath());
            NUnit.Framework.Assert.IsFalse(fh.HasMetaDataChanges());
        }
Exemplo n.º 9
0
        public virtual void TestParseCopy100()
        {
            FileHeader fh = Data("diff --git a/a b/ c/\\303\\205ngstr\\303\\266m\n" + "similarity index 100%\n"
                                 + "copy from a\n" + "copy to \" c/\\303\\205ngstr\\303\\266m\"\n");
            int ptr = fh.ParseGitFileName(0, fh.buf.Length);

            NUnit.Framework.Assert.IsTrue(ptr > 0);
            NUnit.Framework.Assert.IsNull(fh.GetOldPath());
            // can't parse names on a copy
            NUnit.Framework.Assert.IsNull(fh.GetNewPath());
            ptr = fh.ParseGitHeaders(ptr, fh.buf.Length);
            NUnit.Framework.Assert.IsTrue(ptr > 0);
            NUnit.Framework.Assert.AreEqual("a", fh.GetOldPath());
            NUnit.Framework.Assert.AreEqual(" c/\u00c5ngstr\u00f6m", fh.GetNewPath());
            NUnit.Framework.Assert.AreEqual(DiffEntry.ChangeType.COPY, fh.GetChangeType());
            NUnit.Framework.Assert.AreEqual(FileHeader.PatchType.UNIFIED, fh.GetPatchType());
            NUnit.Framework.Assert.IsTrue(fh.HasMetaDataChanges());
            NUnit.Framework.Assert.IsNull(fh.GetOldId());
            NUnit.Framework.Assert.IsNull(fh.GetNewId());
            NUnit.Framework.Assert.IsNull(fh.GetOldMode());
            NUnit.Framework.Assert.IsNull(fh.GetNewMode());
            NUnit.Framework.Assert.AreEqual(100, fh.GetScore());
        }
        public virtual void TestParse_GitBinaryLiteral()
        {
            NGit.Patch.Patch p        = ParseTestPatchFile();
            int[]            binsizes = new int[] { 359, 393, 372, 404 };
            NUnit.Framework.Assert.AreEqual(5, p.GetFiles().Count);
            NUnit.Framework.Assert.IsTrue(p.GetErrors().IsEmpty());
            for (int i = 0; i < 4; i++)
            {
                FileHeader fh = p.GetFiles()[i];
                NUnit.Framework.Assert.AreEqual(DiffEntry.ChangeType.ADD, fh.GetChangeType());
                NUnit.Framework.Assert.IsNotNull(fh.GetOldId());
                NUnit.Framework.Assert.IsNotNull(fh.GetNewId());
                NUnit.Framework.Assert.AreEqual(ObjectId.ZeroId.Name, fh.GetOldId().Name);
                NUnit.Framework.Assert.AreSame(FileMode.REGULAR_FILE, fh.GetNewMode());
                NUnit.Framework.Assert.IsTrue(fh.GetNewPath().StartsWith("org.spearce.egit.ui/icons/toolbar/"
                                                                         ));
                NUnit.Framework.Assert.AreEqual(FileHeader.PatchType.GIT_BINARY, fh.GetPatchType(
                                                    ));
                NUnit.Framework.Assert.IsTrue(fh.GetHunks().IsEmpty());
                NUnit.Framework.Assert.IsTrue(fh.HasMetaDataChanges());
                BinaryHunk fwd = fh.GetForwardBinaryHunk();
                BinaryHunk rev = fh.GetReverseBinaryHunk();
                NUnit.Framework.Assert.IsNotNull(fwd);
                NUnit.Framework.Assert.IsNotNull(rev);
                NUnit.Framework.Assert.AreEqual(binsizes[i], fwd.GetSize());
                NUnit.Framework.Assert.AreEqual(0, rev.GetSize());
                NUnit.Framework.Assert.AreSame(fh, fwd.GetFileHeader());
                NUnit.Framework.Assert.AreSame(fh, rev.GetFileHeader());
                NUnit.Framework.Assert.AreEqual(BinaryHunk.Type.LITERAL_DEFLATED, fwd.GetType());
                NUnit.Framework.Assert.AreEqual(BinaryHunk.Type.LITERAL_DEFLATED, rev.GetType());
            }
            FileHeader fh_1 = p.GetFiles()[4];

            NUnit.Framework.Assert.AreEqual("org.spearce.egit.ui/plugin.xml", fh_1.GetNewPath
                                                ());
            NUnit.Framework.Assert.AreEqual(DiffEntry.ChangeType.MODIFY, fh_1.GetChangeType()
                                            );
            NUnit.Framework.Assert.AreEqual(FileHeader.PatchType.UNIFIED, fh_1.GetPatchType()
                                            );
            NUnit.Framework.Assert.IsFalse(fh_1.HasMetaDataChanges());
            NUnit.Framework.Assert.AreEqual("ee8a5a0", fh_1.GetNewId().Name);
            NUnit.Framework.Assert.IsNull(fh_1.GetForwardBinaryHunk());
            NUnit.Framework.Assert.IsNull(fh_1.GetReverseBinaryHunk());
            NUnit.Framework.Assert.AreEqual(1, fh_1.GetHunks().Count);
            NUnit.Framework.Assert.AreEqual(272, fh_1.GetHunks()[0].GetOldImage().GetStartLine
                                                ());
        }
Exemplo n.º 11
0
        public virtual void TestParseModeChange()
        {
            FileHeader fh = Data("diff --git a/a b b/a b\n" + "old mode 100644\n" + "new mode 100755\n"
                                 );

            AssertParse(fh);
            NUnit.Framework.Assert.AreEqual("a b", fh.GetOldPath());
            NUnit.Framework.Assert.AreEqual("a b", fh.GetNewPath());
            NUnit.Framework.Assert.AreEqual(DiffEntry.ChangeType.MODIFY, fh.GetChangeType());
            NUnit.Framework.Assert.AreEqual(FileHeader.PatchType.UNIFIED, fh.GetPatchType());
            NUnit.Framework.Assert.IsTrue(fh.HasMetaDataChanges());
            NUnit.Framework.Assert.IsNull(fh.GetOldId());
            NUnit.Framework.Assert.IsNull(fh.GetNewId());
            NUnit.Framework.Assert.AreSame(FileMode.REGULAR_FILE, fh.GetOldMode());
            NUnit.Framework.Assert.AreSame(FileMode.EXECUTABLE_FILE, fh.GetNewMode());
            NUnit.Framework.Assert.AreEqual(0, fh.GetScore());
        }
Exemplo n.º 12
0
        public virtual void TestError_DisconnectedHunk()
        {
            NGit.Patch.Patch p = ParseTestPatchFile();
            NUnit.Framework.Assert.AreEqual(1, p.GetFiles().Count);
            {
                FileHeader fh = p.GetFiles()[0];
                NUnit.Framework.Assert.AreEqual("org.eclipse.jgit/src/org/spearce/jgit/lib/RepositoryConfig.java"
                                                , fh.GetNewPath());
                NUnit.Framework.Assert.AreEqual(1, fh.GetHunks().Count);
            }
            NUnit.Framework.Assert.AreEqual(1, p.GetErrors().Count);
            FormatError e = p.GetErrors()[0];

            NUnit.Framework.Assert.AreEqual(FormatError.Severity.ERROR, e.GetSeverity());
            NUnit.Framework.Assert.AreEqual("Hunk disconnected from file", e.GetMessage());
            NUnit.Framework.Assert.AreEqual(18, e.GetOffset());
            NUnit.Framework.Assert.IsTrue(e.GetLineText().StartsWith("@@ -109,4 +109,11 @@ assert"
                                                                     ));
        }
Exemplo n.º 13
0
        public virtual void TestParseFullIndexLine_WithMode()
        {
            string     oid = "78981922613b2afb6025042ff6bd878ac1994e85";
            string     nid = "61780798228d17af2d34fce4cfbdf35556832472";
            FileHeader fh  = Data("diff --git a/a b/a\n" + "index " + oid + ".." + nid + " 100644\n"
                                  + "--- a/a\n" + "+++ b/a\n");

            AssertParse(fh);
            NUnit.Framework.Assert.AreEqual("a", fh.GetOldPath());
            NUnit.Framework.Assert.AreEqual("a", fh.GetNewPath());
            NUnit.Framework.Assert.AreSame(FileMode.REGULAR_FILE, fh.GetOldMode());
            NUnit.Framework.Assert.AreSame(FileMode.REGULAR_FILE, fh.GetNewMode());
            NUnit.Framework.Assert.IsFalse(fh.HasMetaDataChanges());
            NUnit.Framework.Assert.IsNotNull(fh.GetOldId());
            NUnit.Framework.Assert.IsNotNull(fh.GetNewId());
            NUnit.Framework.Assert.IsTrue(fh.GetOldId().IsComplete);
            NUnit.Framework.Assert.IsTrue(fh.GetNewId().IsComplete);
            NUnit.Framework.Assert.AreEqual(ObjectId.FromString(oid), fh.GetOldId().ToObjectId
                                                ());
            NUnit.Framework.Assert.AreEqual(ObjectId.FromString(nid), fh.GetNewId().ToObjectId
                                                ());
        }
        public virtual void TestParse_NoBinary()
        {
            NGit.Patch.Patch p = ParseTestPatchFile();
            NUnit.Framework.Assert.AreEqual(5, p.GetFiles().Count);
            NUnit.Framework.Assert.IsTrue(p.GetErrors().IsEmpty());
            for (int i = 0; i < 4; i++)
            {
                FileHeader fh = p.GetFiles()[i];
                NUnit.Framework.Assert.AreEqual(DiffEntry.ChangeType.ADD, fh.GetChangeType());
                NUnit.Framework.Assert.IsNotNull(fh.GetOldId());
                NUnit.Framework.Assert.IsNotNull(fh.GetNewId());
                NUnit.Framework.Assert.AreEqual("0000000", fh.GetOldId().Name);
                NUnit.Framework.Assert.AreSame(FileMode.MISSING, fh.GetOldMode());
                NUnit.Framework.Assert.AreSame(FileMode.REGULAR_FILE, fh.GetNewMode());
                NUnit.Framework.Assert.IsTrue(fh.GetNewPath().StartsWith("org.spearce.egit.ui/icons/toolbar/"
                                                                         ));
                NUnit.Framework.Assert.AreEqual(FileHeader.PatchType.BINARY, fh.GetPatchType());
                NUnit.Framework.Assert.IsTrue(fh.GetHunks().IsEmpty());
                NUnit.Framework.Assert.IsTrue(fh.HasMetaDataChanges());
                NUnit.Framework.Assert.IsNull(fh.GetForwardBinaryHunk());
                NUnit.Framework.Assert.IsNull(fh.GetReverseBinaryHunk());
            }
            FileHeader fh_1 = p.GetFiles()[4];

            NUnit.Framework.Assert.AreEqual("org.spearce.egit.ui/plugin.xml", fh_1.GetNewPath
                                                ());
            NUnit.Framework.Assert.AreEqual(DiffEntry.ChangeType.MODIFY, fh_1.GetChangeType()
                                            );
            NUnit.Framework.Assert.AreEqual(FileHeader.PatchType.UNIFIED, fh_1.GetPatchType()
                                            );
            NUnit.Framework.Assert.IsFalse(fh_1.HasMetaDataChanges());
            NUnit.Framework.Assert.AreEqual("ee8a5a0", fh_1.GetNewId().Name);
            NUnit.Framework.Assert.IsNull(fh_1.GetForwardBinaryHunk());
            NUnit.Framework.Assert.IsNull(fh_1.GetReverseBinaryHunk());
            NUnit.Framework.Assert.AreEqual(1, fh_1.GetHunks().Count);
            NUnit.Framework.Assert.AreEqual(272, fh_1.GetHunks()[0].GetOldImage().GetStartLine
                                                ());
        }
Exemplo n.º 15
0
        public virtual void TestError_GarbageBetweenFiles()
        {
            NGit.Patch.Patch p = ParseTestPatchFile();
            NUnit.Framework.Assert.AreEqual(2, p.GetFiles().Count);
            {
                FileHeader fh = p.GetFiles()[0];
                NUnit.Framework.Assert.AreEqual("org.eclipse.jgit.test/tst/org/spearce/jgit/lib/RepositoryConfigTest.java"
                                                , fh.GetNewPath());
                NUnit.Framework.Assert.AreEqual(1, fh.GetHunks().Count);
            }
            {
                FileHeader fh = p.GetFiles()[1];
                NUnit.Framework.Assert.AreEqual("org.eclipse.jgit/src/org/spearce/jgit/lib/RepositoryConfig.java"
                                                , fh.GetNewPath());
                NUnit.Framework.Assert.AreEqual(1, fh.GetHunks().Count);
            }
            NUnit.Framework.Assert.AreEqual(1, p.GetErrors().Count);
            FormatError e = p.GetErrors()[0];

            NUnit.Framework.Assert.AreEqual(FormatError.Severity.WARNING, e.GetSeverity());
            NUnit.Framework.Assert.AreEqual("Unexpected hunk trailer", e.GetMessage());
            NUnit.Framework.Assert.AreEqual(926, e.GetOffset());
            NUnit.Framework.Assert.AreEqual("I AM NOT HERE\n", e.GetLineText());
        }
        public virtual void TestParse_ConfigCaseInsensitive()
        {
            NGit.Patch.Patch p = ParseTestPatchFile();
            NUnit.Framework.Assert.AreEqual(2, p.GetFiles().Count);
            NUnit.Framework.Assert.IsTrue(p.GetErrors().IsEmpty());
            FileHeader fRepositoryConfigTest = p.GetFiles()[0];
            FileHeader fRepositoryConfig     = p.GetFiles()[1];

            NUnit.Framework.Assert.AreEqual("org.eclipse.jgit.test/tst/org/spearce/jgit/lib/RepositoryConfigTest.java"
                                            , fRepositoryConfigTest.GetNewPath());
            NUnit.Framework.Assert.AreEqual("org.eclipse.jgit/src/org/spearce/jgit/lib/RepositoryConfig.java"
                                            , fRepositoryConfig.GetNewPath());
            NUnit.Framework.Assert.AreEqual(572, fRepositoryConfigTest.startOffset);
            NUnit.Framework.Assert.AreEqual(1490, fRepositoryConfig.startOffset);
            NUnit.Framework.Assert.AreEqual("da7e704", fRepositoryConfigTest.GetOldId().Name);
            NUnit.Framework.Assert.AreEqual("34ce04a", fRepositoryConfigTest.GetNewId().Name);
            NUnit.Framework.Assert.AreEqual(FileHeader.PatchType.UNIFIED, fRepositoryConfigTest
                                            .GetPatchType());
            NUnit.Framework.Assert.AreSame(FileMode.REGULAR_FILE, fRepositoryConfigTest.GetOldMode
                                               ());
            NUnit.Framework.Assert.AreSame(FileMode.REGULAR_FILE, fRepositoryConfigTest.GetNewMode
                                               ());
            NUnit.Framework.Assert.AreEqual(1, fRepositoryConfigTest.GetHunks().Count);
            {
                HunkHeader h = fRepositoryConfigTest.GetHunks()[0];
                NUnit.Framework.Assert.AreSame(fRepositoryConfigTest, h.GetFileHeader());
                NUnit.Framework.Assert.AreEqual(921, h.startOffset);
                NUnit.Framework.Assert.AreEqual(109, h.GetOldImage().GetStartLine());
                NUnit.Framework.Assert.AreEqual(4, h.GetOldImage().GetLineCount());
                NUnit.Framework.Assert.AreEqual(109, h.GetNewStartLine());
                NUnit.Framework.Assert.AreEqual(11, h.GetNewLineCount());
                NUnit.Framework.Assert.AreEqual(4, h.GetLinesContext());
                NUnit.Framework.Assert.AreEqual(7, h.GetOldImage().GetLinesAdded());
                NUnit.Framework.Assert.AreEqual(0, h.GetOldImage().GetLinesDeleted());
                NUnit.Framework.Assert.AreSame(fRepositoryConfigTest.GetOldId(), h.GetOldImage().
                                               GetId());
                NUnit.Framework.Assert.AreEqual(1490, h.endOffset);
            }
            NUnit.Framework.Assert.AreEqual("45c2f8a", fRepositoryConfig.GetOldId().Name);
            NUnit.Framework.Assert.AreEqual("3291bba", fRepositoryConfig.GetNewId().Name);
            NUnit.Framework.Assert.AreEqual(FileHeader.PatchType.UNIFIED, fRepositoryConfig.GetPatchType
                                                ());
            NUnit.Framework.Assert.AreSame(FileMode.REGULAR_FILE, fRepositoryConfig.GetOldMode
                                               ());
            NUnit.Framework.Assert.AreSame(FileMode.REGULAR_FILE, fRepositoryConfig.GetNewMode
                                               ());
            NUnit.Framework.Assert.AreEqual(3, fRepositoryConfig.GetHunks().Count);
            {
                HunkHeader h = fRepositoryConfig.GetHunks()[0];
                NUnit.Framework.Assert.AreSame(fRepositoryConfig, h.GetFileHeader());
                NUnit.Framework.Assert.AreEqual(1803, h.startOffset);
                NUnit.Framework.Assert.AreEqual(236, h.GetOldImage().GetStartLine());
                NUnit.Framework.Assert.AreEqual(9, h.GetOldImage().GetLineCount());
                NUnit.Framework.Assert.AreEqual(236, h.GetNewStartLine());
                NUnit.Framework.Assert.AreEqual(9, h.GetNewLineCount());
                NUnit.Framework.Assert.AreEqual(7, h.GetLinesContext());
                NUnit.Framework.Assert.AreEqual(2, h.GetOldImage().GetLinesAdded());
                NUnit.Framework.Assert.AreEqual(2, h.GetOldImage().GetLinesDeleted());
                NUnit.Framework.Assert.AreSame(fRepositoryConfig.GetOldId(), h.GetOldImage().GetId
                                                   ());
                NUnit.Framework.Assert.AreEqual(2434, h.endOffset);
            }
            {
                HunkHeader h = fRepositoryConfig.GetHunks()[1];
                NUnit.Framework.Assert.AreEqual(2434, h.startOffset);
                NUnit.Framework.Assert.AreEqual(300, h.GetOldImage().GetStartLine());
                NUnit.Framework.Assert.AreEqual(7, h.GetOldImage().GetLineCount());
                NUnit.Framework.Assert.AreEqual(300, h.GetNewStartLine());
                NUnit.Framework.Assert.AreEqual(7, h.GetNewLineCount());
                NUnit.Framework.Assert.AreEqual(6, h.GetLinesContext());
                NUnit.Framework.Assert.AreEqual(1, h.GetOldImage().GetLinesAdded());
                NUnit.Framework.Assert.AreEqual(1, h.GetOldImage().GetLinesDeleted());
                NUnit.Framework.Assert.AreEqual(2816, h.endOffset);
            }
            {
                HunkHeader h = fRepositoryConfig.GetHunks()[2];
                NUnit.Framework.Assert.AreEqual(2816, h.startOffset);
                NUnit.Framework.Assert.AreEqual(954, h.GetOldImage().GetStartLine());
                NUnit.Framework.Assert.AreEqual(7, h.GetOldImage().GetLineCount());
                NUnit.Framework.Assert.AreEqual(954, h.GetNewStartLine());
                NUnit.Framework.Assert.AreEqual(7, h.GetNewLineCount());
                NUnit.Framework.Assert.AreEqual(6, h.GetLinesContext());
                NUnit.Framework.Assert.AreEqual(1, h.GetOldImage().GetLinesAdded());
                NUnit.Framework.Assert.AreEqual(1, h.GetOldImage().GetLinesDeleted());
                NUnit.Framework.Assert.AreEqual(3035, h.endOffset);
            }
        }
Exemplo n.º 17
0
        public virtual void TestError_GitBinaryNoForwardHunk()
        {
            NGit.Patch.Patch p = ParseTestPatchFile();
            NUnit.Framework.Assert.AreEqual(2, p.GetFiles().Count);
            {
                FileHeader fh = p.GetFiles()[0];
                NUnit.Framework.Assert.AreEqual("org.spearce.egit.ui/icons/toolbar/fetchd.png", fh
                                                .GetNewPath());
                NUnit.Framework.Assert.AreEqual(FileHeader.PatchType.GIT_BINARY, fh.GetPatchType(
                                                    ));
                NUnit.Framework.Assert.IsTrue(fh.GetHunks().IsEmpty());
                NUnit.Framework.Assert.IsNull(fh.GetForwardBinaryHunk());
            }
            {
                FileHeader fh = p.GetFiles()[1];
                NUnit.Framework.Assert.AreEqual("org.spearce.egit.ui/icons/toolbar/fetche.png", fh
                                                .GetNewPath());
                NUnit.Framework.Assert.AreEqual(FileHeader.PatchType.UNIFIED, fh.GetPatchType());
                NUnit.Framework.Assert.IsTrue(fh.GetHunks().IsEmpty());
                NUnit.Framework.Assert.IsNull(fh.GetForwardBinaryHunk());
            }
            NUnit.Framework.Assert.AreEqual(1, p.GetErrors().Count);
            FormatError e = p.GetErrors()[0];

            NUnit.Framework.Assert.AreEqual(FormatError.Severity.ERROR, e.GetSeverity());
            NUnit.Framework.Assert.AreEqual("Missing forward-image in GIT binary patch", e.GetMessage
                                                ());
            NUnit.Framework.Assert.AreEqual(297, e.GetOffset());
            NUnit.Framework.Assert.AreEqual("\n", e.GetLineText());
        }