|
@@ -311,4 +311,52 @@ class FilesystemTest extends TestCase
|
|
|
$this->assertTrue($fs->removeJunction($junction));
|
|
|
$this->assertFalse(is_dir($junction));
|
|
|
}
|
|
|
+
|
|
|
+ public function testCopy()
|
|
|
+ {
|
|
|
+ @mkdir($this->workingDir . '/foo/bar', 0777, true);
|
|
|
+ @mkdir($this->workingDir . '/foo/baz', 0777, true);
|
|
|
+ file_put_contents($this->workingDir . '/foo/foo.file', 'foo');
|
|
|
+ file_put_contents($this->workingDir . '/foo/bar/foobar.file', 'foobar');
|
|
|
+ file_put_contents($this->workingDir . '/foo/baz/foobaz.file', 'foobaz');
|
|
|
+ file_put_contents($this->testFile, 'testfile');
|
|
|
+
|
|
|
+ $fs = new Filesystem();
|
|
|
+
|
|
|
+ $result1 = $fs->copy($this->workingDir . '/foo', $this->workingDir . '/foop');
|
|
|
+ $this->assertTrue($result1,'Copying directory failed.');
|
|
|
+ $this->assertTrue(is_dir($this->workingDir . '/foop'), 'Not a directory: ' . $this->workingDir . '/foop');
|
|
|
+ $this->assertTrue(is_dir($this->workingDir . '/foop/bar'), 'Not a directory: ' . $this->workingDir . '/foop/bar');
|
|
|
+ $this->assertTrue(is_dir($this->workingDir . '/foop/baz'), 'Not a directory: ' . $this->workingDir . '/foop/baz');
|
|
|
+ $this->assertTrue(is_file($this->workingDir . '/foop/foo.file'), 'Not a file: ' . $this->workingDir . '/foop/foo.file');
|
|
|
+ $this->assertTrue(is_file($this->workingDir . '/foop/bar/foobar.file'), 'Not a file: ' . $this->workingDir . '/foop/bar/foobar.file');
|
|
|
+ $this->assertTrue(is_file($this->workingDir . '/foop/baz/foobaz.file'), 'Not a file: ' . $this->workingDir . '/foop/baz/foobaz.file');
|
|
|
+
|
|
|
+ $result2 = $fs->copy($this->testFile, $this->workingDir . '/testfile.file');
|
|
|
+ $this->assertTrue($result2);
|
|
|
+ $this->assertTrue(is_file($this->workingDir . '/testfile.file'));
|
|
|
+ }
|
|
|
+
|
|
|
+ public function testCopyThenRemove()
|
|
|
+ {
|
|
|
+ @mkdir($this->workingDir . '/foo/bar', 0777, true);
|
|
|
+ @mkdir($this->workingDir . '/foo/baz', 0777, true);
|
|
|
+ file_put_contents($this->workingDir . '/foo/foo.file', 'foo');
|
|
|
+ file_put_contents($this->workingDir . '/foo/bar/foobar.file', 'foobar');
|
|
|
+ file_put_contents($this->workingDir . '/foo/baz/foobaz.file', 'foobaz');
|
|
|
+ file_put_contents($this->testFile, 'testfile');
|
|
|
+
|
|
|
+ $fs = new Filesystem();
|
|
|
+
|
|
|
+ $fs->copyThenRemove($this->testFile, $this->workingDir . '/testfile.file');
|
|
|
+ $this->assertFalse(is_file($this->testFile), 'Still a file: ' . $this->testFile);
|
|
|
+
|
|
|
+ $fs->copyThenRemove($this->workingDir . '/foo', $this->workingDir . '/foop');
|
|
|
+ $this->assertFalse(is_file($this->workingDir . '/foo/baz/foobaz.file'), 'Still a file: ' . $this->workingDir . '/foo/baz/foobaz.file');
|
|
|
+ $this->assertFalse(is_file($this->workingDir . '/foo/bar/foobar.file'), 'Still a file: ' . $this->workingDir . '/foo/bar/foobar.file');
|
|
|
+ $this->assertFalse(is_file($this->workingDir . '/foo/foo.file'), 'Still a file: ' . $this->workingDir . '/foo/foo.file');
|
|
|
+ $this->assertFalse(is_dir($this->workingDir . '/foo/baz'), 'Still a directory: ' . $this->workingDir . '/foo/baz');
|
|
|
+ $this->assertFalse(is_dir($this->workingDir . '/foo/bar'), 'Still a directory: ' . $this->workingDir . '/foo/bar');
|
|
|
+ $this->assertFalse(is_dir($this->workingDir . '/foo'), 'Still a directory: ' . $this->workingDir . '/foo');
|
|
|
+ }
|
|
|
}
|