Update Tests to supports namespaces
This commit is contained in:
388
Tests/XdiffTest.php
Normal file
388
Tests/XdiffTest.php
Normal file
@@ -0,0 +1,388 @@
|
||||
<?php
|
||||
/** DomFramework - Tests
|
||||
* @package domframework
|
||||
* @author Dominique Fournier <dominique@fournier38.fr>
|
||||
* @license BSD
|
||||
*/
|
||||
|
||||
namespace Domframework\Tests;
|
||||
|
||||
/** Test the domframework xdiff part */
|
||||
class xdiffTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
// Declaration of $string1 and $string2
|
||||
// {{{
|
||||
private $string1 = "This part of the
|
||||
document has stayed the
|
||||
same from version to
|
||||
version. It shouldn't
|
||||
be shown if it doesn't
|
||||
change. Otherwise, that
|
||||
would not be helping to
|
||||
compress the size of the
|
||||
changes.
|
||||
|
||||
This paragraph contains
|
||||
text that is outdated.
|
||||
It will be deleted in the
|
||||
near future.
|
||||
|
||||
It is important to spell
|
||||
check this dokument. On
|
||||
the other hand, a
|
||||
misspelled word isn't
|
||||
the end of the world.
|
||||
Nothing in the rest of
|
||||
this paragraph needs to
|
||||
be changed. Things can
|
||||
be added after it.
|
||||
";
|
||||
private $string2 = "This is an important
|
||||
notice! It should
|
||||
therefore be located at
|
||||
the beginning of this
|
||||
document!
|
||||
|
||||
This part of the
|
||||
document has stayed the
|
||||
same from version to
|
||||
version. It shouldn't
|
||||
be shown if it doesn't
|
||||
change. Otherwise, that
|
||||
would not be helping to
|
||||
compress the size of the
|
||||
changes.
|
||||
|
||||
It is important to spell
|
||||
check this document. On
|
||||
the other hand, a
|
||||
misspelled word isn't
|
||||
the end of the world.
|
||||
Nothing in the rest of
|
||||
this paragraph needs to
|
||||
be changed. Things can
|
||||
be added after it.
|
||||
|
||||
This paragraph contains
|
||||
important new additions
|
||||
to this document.
|
||||
";
|
||||
// }}}
|
||||
|
||||
public function test_diff_normal_1 ()
|
||||
{
|
||||
// Mode normal
|
||||
$xdiff = new xdiff ();
|
||||
$res = $xdiff->diff ($this->string1, $this->string2);
|
||||
$this->assertSame ($res, "0a1,6
|
||||
> This is an important
|
||||
> notice! It should
|
||||
> therefore be located at
|
||||
> the beginning of this
|
||||
> document!
|
||||
>
|
||||
11,15d16
|
||||
< This paragraph contains
|
||||
< text that is outdated.
|
||||
< It will be deleted in the
|
||||
< near future.
|
||||
<
|
||||
17c18
|
||||
< check this dokument. On
|
||||
---
|
||||
> check this document. On
|
||||
24a26,29
|
||||
>
|
||||
> This paragraph contains
|
||||
> important new additions
|
||||
> to this document.
|
||||
");
|
||||
}
|
||||
|
||||
public function test_diff_normal_2 ()
|
||||
{
|
||||
// Mode normal
|
||||
$xdiff = new xdiff ();
|
||||
$res = $xdiff->diff ("NEWLINE\n".$this->string1, $this->string2);
|
||||
$this->assertSame ($res, "1c1,6
|
||||
< NEWLINE
|
||||
---
|
||||
> This is an important
|
||||
> notice! It should
|
||||
> therefore be located at
|
||||
> the beginning of this
|
||||
> document!
|
||||
>
|
||||
12,16d16
|
||||
< This paragraph contains
|
||||
< text that is outdated.
|
||||
< It will be deleted in the
|
||||
< near future.
|
||||
<
|
||||
18c18
|
||||
< check this dokument. On
|
||||
---
|
||||
> check this document. On
|
||||
25a26,29
|
||||
>
|
||||
> This paragraph contains
|
||||
> important new additions
|
||||
> to this document.
|
||||
");
|
||||
}
|
||||
|
||||
public function test_diff_normal_3 ()
|
||||
{
|
||||
// Mode normal
|
||||
$xdiff = new xdiff ();
|
||||
$res = $xdiff->diff ("NEWLINE\n", "\n");
|
||||
$this->assertSame ($res, "1c1
|
||||
< NEWLINE
|
||||
---
|
||||
>
|
||||
");
|
||||
}
|
||||
|
||||
public function test_diff_normal_4 ()
|
||||
{
|
||||
// Mode normal
|
||||
$xdiff = new xdiff ();
|
||||
$res = $xdiff->diff ("\n", "NEWLINE\n");
|
||||
$this->assertSame ($res, "1c1
|
||||
<
|
||||
---
|
||||
> NEWLINE
|
||||
");
|
||||
}
|
||||
|
||||
public function test_diff_normal_5 ()
|
||||
{
|
||||
$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
|
||||
$xdiff = new xdiff ("unified");
|
||||
$res = $xdiff->diff ($this->string1, $this->string2);
|
||||
$date = date ("Y-m-d H:i:s.u00");
|
||||
// DST must answer +0200 in winter and +0100 in summer
|
||||
$dst = date ("O");
|
||||
$this->assertSame ($res, "--- Original ${date}0 $dst
|
||||
+++ New ${date}1 $dst
|
||||
@@ -0,0 +1,6 @@
|
||||
+This is an important
|
||||
+notice! It should
|
||||
+therefore be located at
|
||||
+the beginning of this
|
||||
+document!
|
||||
+
|
||||
@@ -11,5 +16,0 @@
|
||||
-This paragraph contains
|
||||
-text that is outdated.
|
||||
-It will be deleted in the
|
||||
-near future.
|
||||
-
|
||||
@@ -17 +18 @@
|
||||
-check this dokument. On
|
||||
+check this document. On
|
||||
@@ -24,0 +26,4 @@
|
||||
+
|
||||
+This paragraph contains
|
||||
+important new additions
|
||||
+to this document.
|
||||
");
|
||||
}
|
||||
|
||||
public function test_diff_unified_2 ()
|
||||
{
|
||||
// Mode unified
|
||||
$xdiff = new xdiff ("unified");
|
||||
$res = $xdiff->diff ("NEWLINE\n".$this->string1, $this->string2);
|
||||
$this->assertSame ($res, "--- Original ".date ("Y-m-d H:i:s.u000 O")."
|
||||
+++ New ".date ("Y-m-d H:i:s.u001 O")."
|
||||
@@ -1 +1,6 @@
|
||||
-NEWLINE
|
||||
+This is an important
|
||||
+notice! It should
|
||||
+therefore be located at
|
||||
+the beginning of this
|
||||
+document!
|
||||
+
|
||||
@@ -12,5 +16,0 @@
|
||||
-This paragraph contains
|
||||
-text that is outdated.
|
||||
-It will be deleted in the
|
||||
-near future.
|
||||
-
|
||||
@@ -18 +18 @@
|
||||
-check this dokument. On
|
||||
+check this document. On
|
||||
@@ -25,0 +26,4 @@
|
||||
+
|
||||
+This paragraph contains
|
||||
+important new additions
|
||||
+to this document.
|
||||
");
|
||||
}
|
||||
|
||||
public function test_diff_unified_3 ()
|
||||
{
|
||||
$xdiff = new xdiff ("unified");
|
||||
$res = $xdiff->diff ("NEWLINE\n", "\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 +1 @@
|
||||
-NEWLINE
|
||||
+
|
||||
");
|
||||
}
|
||||
|
||||
public function test_diff_unified_4 ()
|
||||
{
|
||||
$xdiff = new xdiff ("unified");
|
||||
$res = $xdiff->diff ("\n", "NEWLINE\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 +1 @@
|
||||
-
|
||||
+NEWLINE
|
||||
");
|
||||
}
|
||||
|
||||
public function test_diff_unified_5 ()
|
||||
{
|
||||
$xdiff = new xdiff ("unified");
|
||||
$res = $xdiff->diff ("\n", "\n");
|
||||
$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");
|
||||
}
|
||||
|
||||
public function test_diffFile_unified_1 ()
|
||||
{
|
||||
file_put_contents ("/tmp/test_xdiff1", $this->string1);
|
||||
file_put_contents ("/tmp/test_xdiff2", $this->string2);
|
||||
$xdiff = new xdiff ("unified");
|
||||
$res = $xdiff->diffFile ("/tmp/test_xdiff1", "/tmp/test_xdiff2");
|
||||
$this->assertSame ($res, "--- /tmp/test_xdiff1 ".date ("Y-m-d H:i:s.u000 O")."
|
||||
+++ /tmp/test_xdiff2 ".date ("Y-m-d H:i:s.u001 O")."
|
||||
@@ -0,0 +1,6 @@
|
||||
+This is an important
|
||||
+notice! It should
|
||||
+therefore be located at
|
||||
+the beginning of this
|
||||
+document!
|
||||
+
|
||||
@@ -11,5 +16,0 @@
|
||||
-This paragraph contains
|
||||
-text that is outdated.
|
||||
-It will be deleted in the
|
||||
-near future.
|
||||
-
|
||||
@@ -17 +18 @@
|
||||
-check this dokument. On
|
||||
+check this document. On
|
||||
@@ -24,0 +26,4 @@
|
||||
+
|
||||
+This paragraph contains
|
||||
+important new additions
|
||||
+to this document.
|
||||
");
|
||||
|
||||
}
|
||||
|
||||
public function test_diffFile_unified_2 ()
|
||||
{
|
||||
$xdiff = new xdiff ("unified");
|
||||
$this->setExpectedException ();
|
||||
$res = $xdiff->diffFile ("/tmp/test_xdiffNOTEXISTS", "/tmp/test_xdiff2");
|
||||
}
|
||||
|
||||
public function test_diffFile_unified_3 ()
|
||||
{
|
||||
$xdiff = new xdiff ("unified");
|
||||
$this->setExpectedException ();
|
||||
$res = $xdiff->diffFile ("/tmp/test_xdiff1", "/tmp/test_xdiffNOTEXISTS");
|
||||
}
|
||||
|
||||
public function test_diffFile_sideBySide_1 ()
|
||||
{
|
||||
file_put_contents ("/tmp/test_xdiff1", $this->string1);
|
||||
file_put_contents ("/tmp/test_xdiff2", $this->string2);
|
||||
$xdiff = new xdiff ("sideBySide");
|
||||
$res = $xdiff->diffFile ("/tmp/test_xdiff1", "/tmp/test_xdiff2");
|
||||
$this->assertSame ($res,
|
||||
" > This is an important
|
||||
> notice! It should
|
||||
> therefore be located at
|
||||
> the beginning of this
|
||||
> document!
|
||||
>
|
||||
This part of the This part of the
|
||||
document has stayed the document has stayed the
|
||||
same from version to same from version to
|
||||
version. It shouldn't version. It shouldn't
|
||||
be shown if it doesn't be shown if it doesn't
|
||||
change. Otherwise, that change. Otherwise, that
|
||||
would not be helping to would not be helping to
|
||||
compress the size of the compress the size of the
|
||||
changes. changes.
|
||||
|
||||
This paragraph contains <
|
||||
text that is outdated. <
|
||||
It will be deleted in the <
|
||||
near future. <
|
||||
<
|
||||
It is important to spell It is important to spell
|
||||
check this dokument. On | check this document. On
|
||||
the other hand, a the other hand, a
|
||||
misspelled word isn't misspelled word isn't
|
||||
the end of the world. the end of the world.
|
||||
Nothing in the rest of Nothing in the rest of
|
||||
this paragraph needs to this paragraph needs to
|
||||
be changed. Things can be changed. Things can
|
||||
be added after it. be added after it.
|
||||
>
|
||||
> This paragraph contains
|
||||
> important new additions
|
||||
> to this document.
|
||||
");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user