public function testCopyDirectoryMovesEntireDirectory() { mkdir(__DIR__ . '/tmp', 0777, true); file_put_contents(__DIR__ . '/tmp/foo.txt', ''); file_put_contents(__DIR__ . '/tmp/bar.txt', ''); mkdir(__DIR__ . '/tmp/nested', 0777, true); file_put_contents(__DIR__ . '/tmp/nested/baz.txt', ''); $files = new Filesystem(); $files->copyDirectory(__DIR__ . '/tmp', __DIR__ . '/tmp2'); $this->assertTrue(is_dir(__DIR__ . '/tmp2')); $this->assertFileExists(__DIR__ . '/tmp2/foo.txt'); $this->assertFileExists(__DIR__ . '/tmp2/bar.txt'); $this->assertTrue(is_dir(__DIR__ . '/tmp2/nested')); $this->assertFileExists(__DIR__ . '/tmp2/nested/baz.txt'); unlink(__DIR__ . '/tmp/nested/baz.txt'); rmdir(__DIR__ . '/tmp/nested'); unlink(__DIR__ . '/tmp/bar.txt'); unlink(__DIR__ . '/tmp/foo.txt'); rmdir(__DIR__ . '/tmp'); unlink(__DIR__ . '/tmp2/nested/baz.txt'); rmdir(__DIR__ . '/tmp2/nested'); unlink(__DIR__ . '/tmp2/foo.txt'); unlink(__DIR__ . '/tmp2/bar.txt'); rmdir(__DIR__ . '/tmp2'); }