From 384d94faf37d4fa79c43d47db85bd8c6da9e41f0 Mon Sep 17 00:00:00 2001 From: Siad Ardroumli Date: Mon, 29 Jan 2018 10:51:50 +0100 Subject: [PATCH] Fixed FileUtils::contentEquals (#859) --- classes/phing/util/FileUtils.php | 4 +- test/classes/phing/util/FileUtilsTest.php | 57 +++++++++++++++++++++++ test/etc/util/fileutils.xml | 7 +++ 3 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 test/classes/phing/util/FileUtilsTest.php create mode 100644 test/etc/util/fileutils.xml diff --git a/classes/phing/util/FileUtils.php b/classes/phing/util/FileUtils.php index 8dff50bfc1..f22bda643e 100644 --- a/classes/phing/util/FileUtils.php +++ b/classes/phing/util/FileUtils.php @@ -412,11 +412,11 @@ public function createTempFile($prefix, $suffix, PhingFile $parentDir, $deleteOn */ public function contentEquals(PhingFile $file1, PhingFile $file2) { - if (!($file1->exists() || $file2->exists())) { + if (!($file1->exists() && $file2->exists())) { return false; } - if (!($file1->canRead() || $file2->canRead())) { + if (!($file1->canRead() && $file2->canRead())) { return false; } diff --git a/test/classes/phing/util/FileUtilsTest.php b/test/classes/phing/util/FileUtilsTest.php new file mode 100644 index 0000000000..4f02f6550d --- /dev/null +++ b/test/classes/phing/util/FileUtilsTest.php @@ -0,0 +1,57 @@ +. + * + * @package phing.util + */ + +/** + * Testcases for phing.util.FileUtils + * + * @author Siad Ardroumli |siad.ardroumli@gmail.com> + * @package phing.util + */ +class FileUtilsTest extends BuildFileTest +{ + /** @var FileUtils $fu */ + private $fu; + + public function setUp() + { + $this->fu = new FileUtils(); + $this->configureProject(PHING_TEST_BASE . "/etc/util/fileutils.xml"); + $this->executeTarget('dummy'); + } + + public function tearDown() + { + $this->fu = null; + } + + /** + * @test + */ + public function contentEquals() + { + $this->assertFalse($this->fu->contentEquals(new PhingFile(__FILE__), new PhingFile('does_not_exists'))); + $this->assertFalse($this->fu->contentEquals(new PhingFile('does_not_exists'), new PhingFile(__FILE__))); + $this->assertFalse($this->fu->contentEquals(new PhingFile(__DIR__), new PhingFile(__DIR__))); + $this->assertFalse($this->fu->contentEquals(new PhingFile(__FILE__), new PhingFile(__DIR__))); + $this->assertFalse($this->fu->contentEquals(new PhingFile(__DIR__), new PhingFile(__FILE__))); + $this->assertTrue($this->fu->contentEquals(new PhingFile(__FILE__), new PhingFile(__FILE__))); + } +} diff --git a/test/etc/util/fileutils.xml b/test/etc/util/fileutils.xml new file mode 100644 index 0000000000..797c83306d --- /dev/null +++ b/test/etc/util/fileutils.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file