Update xdiff to not display the ,1 if the length is 1 on unified mode. Add the unit tests

git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@4311 bf3deb0d-5f1a-0410-827f-c0cc1f45334c
This commit is contained in:
2018-07-30 13:31:37 +00:00
parent ccee53e033
commit a5efc67431
2 changed files with 40 additions and 3 deletions

View File

@@ -155,12 +155,27 @@ to this document.
public function test_diff_normal_5 ()
{
// Mode normal
$xdiff = new xdiff ();
$res = $xdiff->diff ("\n", "\n");
$this->assertSame ($res, "");
}
public function test_diff_normal_6 ()
{
$xdiff = new xdiff ();
$res = $xdiff->diff ("\n", "");
$this->assertSame ($res, "1d0
< \n");
}
public function test_diff_normal_7 ()
{
$xdiff = new xdiff ();
$res = $xdiff->diff ("", "\n");
$this->assertSame ($res, "0a1
> \n");
}
public function test_diff_unified_1 ()
{
// Mode unified
@@ -255,4 +270,24 @@ to this document.
$this->assertSame ($res, "");
}
public function test_diff_unified_6 ()
{
$xdiff = new xdiff ("unified");
$res = $xdiff->diff ("\n", "");
$this->assertSame ($res, "--- Original ".date ("Y-m-d H:i:s.u000 O")."
+++ New ".date ("Y-m-d H:i:s.u001 O")."
@@ -1 +0,0 @@
-\n");
}
public function test_diff_unified_7 ()
{
$xdiff = new xdiff ("unified");
$res = $xdiff->diff ("", "\n");
$this->assertSame ($res, "--- Original ".date ("Y-m-d H:i:s.u000 O")."
+++ New ".date ("Y-m-d H:i:s.u001 O")."
@@ -0,0 +1 @@
+\n");
}
}

View File

@@ -285,7 +285,8 @@ class xdiff
$info .= ",0";
$info .= " +";
$info .= $diff["startLine2"];
$info .= ",".$diff["length"];
if ($diff["length"] !== 1)
$info .= ",".$diff["length"];
$info .= " @@\n";
$d .= $info;
$d .= "+".implode ("+", $diff["chunk"]);
@@ -294,7 +295,8 @@ class xdiff
{
$info = "@@ -";
$info .= $diff["startLine1"];
$info .= ",".$diff["length"];
if ($diff["length"] !== 1)
$info .= ",".$diff["length"];
$info .= " +";
$info .= $diff["startLine2"];
$info .= ",0";