mirror of
https://github.com/Karaka-Management/phpOMS.git
synced 2026-01-11 09:48:40 +00:00
ftp directory tests working
This commit is contained in:
parent
f77ab5e980
commit
2f37ad1200
|
|
@ -120,9 +120,9 @@ class Directory extends FileAbstract implements DirectoryInterface, FtpContainer
|
|||
/**
|
||||
* List all files in directory.
|
||||
*
|
||||
* @param resource $con FTP connection
|
||||
* @param string $path Path
|
||||
* @param string $filter Filter
|
||||
* @param resource $con FTP connection
|
||||
* @param string $path Path
|
||||
* @param string $filter Filter
|
||||
* @param bool $recursive Recursive list
|
||||
*
|
||||
* @return string[]
|
||||
|
|
|
|||
|
|
@ -582,4 +582,28 @@ class File extends FileAbstract implements FileInterface
|
|||
|
||||
return $extension[1] ?? '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the directory name of a file.
|
||||
*
|
||||
* @return string returns the directory name of the file
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function getDirName() : string
|
||||
{
|
||||
return \basename(\dirname($this->path));
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the directory path of a file.
|
||||
*
|
||||
* @return string returns the directory path of the file
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function getDirPath() : string
|
||||
{
|
||||
return \dirname($this->path);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,11 +97,11 @@ final class Directory extends FileAbstract implements DirectoryInterface, LocalC
|
|||
}
|
||||
|
||||
foreach ($iterator as $item) {
|
||||
if ($item->isDot()) {
|
||||
if (!$recursive && $item->isDot()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$list[] = \str_replace('\\', '/', $iterator->getSubPathname());
|
||||
$list[] = \substr(\str_replace('\\', '/', $iterator->getPathname()), \strlen($path) + 1);
|
||||
}
|
||||
|
||||
/** @var string[] $list */
|
||||
|
|
@ -136,14 +136,16 @@ final class Directory extends FileAbstract implements DirectoryInterface, LocalC
|
|||
: new \DirectoryIterator($path);
|
||||
|
||||
foreach ($iterator as $item) {
|
||||
if ($item->isDot()) {
|
||||
if (!$recursive && $item->isDot()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$subPath = \substr($iterator->getPathname(), \strlen($path) + 1);
|
||||
|
||||
if ((empty($extension) || $item->getExtension() === $extension)
|
||||
&& (empty($exclude) || (!(bool) \preg_match('/' . $exclude . '/', $iterator->getSubPathname())))
|
||||
&& (empty($exclude) || (!(bool) \preg_match('/' . $exclude . '/', $subPath)))
|
||||
) {
|
||||
$list[] = \str_replace('\\', '/', $iterator->getSubPathname());
|
||||
$list[] = \str_replace('\\', '/', $subPath);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -398,10 +400,12 @@ final class Directory extends FileAbstract implements DirectoryInterface, LocalC
|
|||
new \RecursiveDirectoryIterator($from, \RecursiveDirectoryIterator::SKIP_DOTS),
|
||||
\RecursiveIteratorIterator::SELF_FIRST) as $item
|
||||
) {
|
||||
$subPath = $iterator->getSubPathname();
|
||||
|
||||
if ($item->isDir()) {
|
||||
\mkdir($to . '/' . $iterator->getSubPathname());
|
||||
\mkdir($to . '/' . $subPath);
|
||||
} else {
|
||||
\copy($from . '/' . $iterator->getSubPathname(), $to . '/' . $iterator->getSubPathname());
|
||||
\copy($from . '/' . $subPath, $to . '/' . $subPath);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -502,7 +502,7 @@ class DirectoryTest extends \PHPUnit\Framework\TestCase
|
|||
public function testList() : void
|
||||
{
|
||||
$dirTestPath = __DIR__ . '/dirtest';
|
||||
$dir = new Directory(new HttpUri(self::BASE . '/' . $dirTestPath), '*', true, self::$con);
|
||||
$dir = new Directory(new HttpUri(self::BASE . $dirTestPath), '*', true, self::$con);
|
||||
|
||||
self::assertEquals([
|
||||
'sub',
|
||||
|
|
@ -513,14 +513,14 @@ class DirectoryTest extends \PHPUnit\Framework\TestCase
|
|||
public function testNodeOutput() : void
|
||||
{
|
||||
$dirTestPath = __DIR__ . '/dirtest';
|
||||
$dir = new Directory(new HttpUri(self::BASE . '/' . $dirTestPath), '*', true, self::$con);
|
||||
$dir = new Directory(new HttpUri(self::BASE . $dirTestPath), '*', true, self::$con);
|
||||
|
||||
self::assertInstanceOf(Directory::class, $dir->getNode('sub'));
|
||||
}
|
||||
|
||||
public function testNodeCreate() : void
|
||||
{
|
||||
$dir = new Directory(new HttpUri(self::BASE . '/' . __DIR__), '*', true, self::$con);
|
||||
$dir = new Directory(new HttpUri(self::BASE . __DIR__), '*', true, self::$con);
|
||||
$dir->addNode(new Directory(new HttpUri(self::BASE . __DIR__ . '/nodedir')));
|
||||
|
||||
self::assertTrue(\file_exists(__DIR__ . '/nodedir'));
|
||||
|
|
@ -535,7 +535,7 @@ class DirectoryTest extends \PHPUnit\Framework\TestCase
|
|||
|
||||
public function testNodeDelete() : void
|
||||
{
|
||||
$dir = new Directory(new HttpUri(self::BASE . '/' . __DIR__), '*', true, self::$con);
|
||||
$dir = new Directory(new HttpUri(self::BASE . __DIR__), '*', true, self::$con);
|
||||
$dir->addNode(new Directory(new HttpUri(self::BASE . __DIR__ . '/nodedir')));
|
||||
|
||||
self::assertTrue(\file_exists(__DIR__ . '/nodedir'));
|
||||
|
|
@ -545,7 +545,7 @@ class DirectoryTest extends \PHPUnit\Framework\TestCase
|
|||
|
||||
public function testNodeCopy() : void
|
||||
{
|
||||
$dir = new Directory(new HttpUri(self::BASE . '/' . __DIR__), '*', true, self::$con);
|
||||
$dir = new Directory(new HttpUri(self::BASE . __DIR__), '*', true, self::$con);
|
||||
$dir->addNode(new Directory(new HttpUri(self::BASE . __DIR__ . '/nodedir')));
|
||||
|
||||
$dir->getNode('nodedir')->copyNode(__DIR__ . '/nodedir2');
|
||||
|
|
@ -557,7 +557,7 @@ class DirectoryTest extends \PHPUnit\Framework\TestCase
|
|||
|
||||
public function testNodeMove() : void
|
||||
{
|
||||
$dir = new Directory(new HttpUri(self::BASE . '/' . __DIR__), '*', true, self::$con);
|
||||
$dir = new Directory(new HttpUri(self::BASE . __DIR__), '*', true, self::$con);
|
||||
$dir->addNode(new Directory(new HttpUri(self::BASE . __DIR__ . '/nodedir')));
|
||||
|
||||
$dir->getNode('nodedir')->moveNode(__DIR__ . '/nodedir2');
|
||||
|
|
@ -569,7 +569,7 @@ class DirectoryTest extends \PHPUnit\Framework\TestCase
|
|||
|
||||
public function testNodeExists() : void
|
||||
{
|
||||
$dir = new Directory(new HttpUri(self::BASE . '/' . __DIR__), '*', true, self::$con);
|
||||
$dir = new Directory(new HttpUri(self::BASE . __DIR__), '*', true, self::$con);
|
||||
|
||||
self::assertTrue($dir->isExisting());
|
||||
self::assertTrue($dir->isExisting('dirtest'));
|
||||
|
|
@ -615,7 +615,7 @@ class DirectoryTest extends \PHPUnit\Framework\TestCase
|
|||
|
||||
public function testNodeArraySet() : void
|
||||
{
|
||||
$dir = new Directory(new HttpUri(self::BASE . '/' . __DIR__), '*', true, self::$con);
|
||||
$dir = new Directory(new HttpUri(self::BASE . __DIR__), '*', true, self::$con);
|
||||
$dir[] = new Directory(new HttpUri(self::BASE . __DIR__ . '/nodedir'));
|
||||
|
||||
self::assertTrue(\file_exists(__DIR__ . '/nodedir'));
|
||||
|
|
@ -629,7 +629,7 @@ class DirectoryTest extends \PHPUnit\Framework\TestCase
|
|||
|
||||
public function testNodeArrayRemove() : void
|
||||
{
|
||||
$dir = new Directory(new HttpUri(self::BASE . '/' . __DIR__), '*', true, self::$con);
|
||||
$dir = new Directory(new HttpUri(self::BASE . __DIR__), '*', true, self::$con);
|
||||
$dir->addNode(new Directory(new HttpUri(self::BASE . __DIR__ . '/nodedir')));
|
||||
|
||||
self::assertTrue(\file_exists(__DIR__ . '/nodedir'));
|
||||
|
|
@ -639,7 +639,7 @@ class DirectoryTest extends \PHPUnit\Framework\TestCase
|
|||
|
||||
public function testNodeArrayExists() : void
|
||||
{
|
||||
$dir = new Directory(new HttpUri(self::BASE . '/' . __DIR__), '*', true, self::$con);
|
||||
$dir = new Directory(new HttpUri(self::BASE . __DIR__), '*', true, self::$con);
|
||||
|
||||
self::assertTrue(isset($dir['dirtest']));
|
||||
self::assertFalse(isset($dir['invalid']));
|
||||
|
|
@ -648,7 +648,7 @@ class DirectoryTest extends \PHPUnit\Framework\TestCase
|
|||
public function testNodeCreatedAt() : void
|
||||
{
|
||||
$dirPath = __DIR__ . '/test';
|
||||
$dir = new Directory(new HttpUri(self::BASE . '/' . $dirPath), '*', true, self::$con);
|
||||
$dir = new Directory(new HttpUri(self::BASE . $dirPath), '*', true, self::$con);
|
||||
|
||||
self::assertTrue($dir->createNode());
|
||||
|
||||
|
|
@ -661,7 +661,7 @@ class DirectoryTest extends \PHPUnit\Framework\TestCase
|
|||
public function testNodeChangedAt() : void
|
||||
{
|
||||
$dirPath = __DIR__ . '/test';
|
||||
$dir = new Directory(new HttpUri(self::BASE . '/' . $dirPath), '*', true, self::$con);
|
||||
$dir = new Directory(new HttpUri(self::BASE . $dirPath), '*', true, self::$con);
|
||||
|
||||
self::assertTrue($dir->createNode());
|
||||
|
||||
|
|
@ -710,6 +710,6 @@ class DirectoryTest extends \PHPUnit\Framework\TestCase
|
|||
{
|
||||
$dir = new Directory(new HttpUri(self::BASE . __DIR__ . '/dirtest'), '*', true, self::$con);
|
||||
|
||||
self::assertEquals(__DIR__ . '/dirtest', $dir->next()->getDirpath());
|
||||
self::assertEquals(__DIR__ . '/dirtest', $dir->next()->getDirPath());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -659,7 +659,7 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
\unlink($testFile);
|
||||
}
|
||||
|
||||
$file = new File($testFile);
|
||||
$file = new File(new HttpUri(self::BASE . $testFile), self::$con);
|
||||
self::assertTrue($file->setContent('test'));
|
||||
self::assertEquals('test', $file->getContent());
|
||||
|
||||
|
|
@ -673,7 +673,7 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
\unlink($testFile);
|
||||
}
|
||||
|
||||
$file = new File($testFile);
|
||||
$file = new File(new HttpUri(self::BASE . $testFile), self::$con);
|
||||
self::assertTrue($file->setContent('test'));
|
||||
self::assertTrue($file->setContent('test2'));
|
||||
self::assertEquals('test2', $file->getContent());
|
||||
|
|
@ -688,7 +688,7 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
\unlink($testFile);
|
||||
}
|
||||
|
||||
$file = new File($testFile);
|
||||
$file = new File(new HttpUri(self::BASE . $testFile), self::$con);
|
||||
self::assertTrue($file->setContent('test'));
|
||||
self::assertTrue($file->appendContent('2'));
|
||||
self::assertEquals('test2', $file->getContent());
|
||||
|
|
@ -703,7 +703,7 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
\unlink($testFile);
|
||||
}
|
||||
|
||||
$file = new File($testFile);
|
||||
$file = new File(new HttpUri(self::BASE . $testFile), self::$con);
|
||||
self::assertTrue($file->setContent('test'));
|
||||
self::assertTrue($file->prependContent('2'));
|
||||
self::assertEquals('2test', $file->getContent());
|
||||
|
|
@ -714,7 +714,7 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
public function testNodeExtension() : void
|
||||
{
|
||||
$testFile = __DIR__ . '/test.txt';
|
||||
$file = new File($testFile);
|
||||
$file = new File(new HttpUri(self::BASE . $testFile), self::$con);
|
||||
|
||||
self::assertEquals('txt', $file->getExtension());
|
||||
}
|
||||
|
|
@ -726,7 +726,7 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
\unlink($testFile);
|
||||
}
|
||||
|
||||
$file = new File($testFile);
|
||||
$file = new File(new HttpUri(self::BASE . $testFile), self::$con);
|
||||
|
||||
$file->createNode();
|
||||
|
||||
|
|
@ -743,7 +743,7 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
\unlink($testFile);
|
||||
}
|
||||
|
||||
$file = new File($testFile);
|
||||
$file = new File(new HttpUri(self::BASE . $testFile), self::$con);
|
||||
|
||||
$file->createNode();
|
||||
|
||||
|
|
@ -756,7 +756,7 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
public function testNodeOwner() : void
|
||||
{
|
||||
$testFile = __DIR__ . '/dirtest/test.txt';
|
||||
$file = new File($testFile);
|
||||
$file = new File(new HttpUri(self::BASE . $testFile), self::$con);
|
||||
|
||||
self::assertNotEmpty($file->getOwner());
|
||||
}
|
||||
|
|
@ -764,7 +764,7 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
public function testNodePermission() : void
|
||||
{
|
||||
$testFile = __DIR__ . '/dirtest/test.txt';
|
||||
$file = new File($testFile);
|
||||
$file = new File(new HttpUri(self::BASE . $testFile), self::$con);
|
||||
|
||||
self::assertGreaterThan(0, $file->getPermission());
|
||||
}
|
||||
|
|
@ -772,7 +772,7 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
public function testDirname() : void
|
||||
{
|
||||
$testFile = __DIR__ . '/dirtest/test.txt';
|
||||
$file = new File($testFile);
|
||||
$file = new File(new HttpUri(self::BASE . $testFile), self::$con);
|
||||
|
||||
self::assertEquals('dirtest', $file->getDirname());
|
||||
}
|
||||
|
|
@ -780,7 +780,7 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
public function testName() : void
|
||||
{
|
||||
$testFile = __DIR__ . '/dirtest/test.txt';
|
||||
$file = new File($testFile);
|
||||
$file = new File(new HttpUri(self::BASE . $testFile), self::$con);
|
||||
|
||||
self::assertEquals('test', $file->getName());
|
||||
}
|
||||
|
|
@ -788,7 +788,7 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
public function testBaseame() : void
|
||||
{
|
||||
$testFile = __DIR__ . '/dirtest/test.txt';
|
||||
$file = new File($testFile);
|
||||
$file = new File(new HttpUri(self::BASE . $testFile), self::$con);
|
||||
|
||||
self::assertEquals('test.txt', $file->getBasename());
|
||||
}
|
||||
|
|
@ -796,7 +796,7 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
public function testDirpath() : void
|
||||
{
|
||||
$testFile = __DIR__ . '/dirtest/test.txt';
|
||||
$file = new File($testFile);
|
||||
$file = new File(new HttpUri(self::BASE . $testFile), self::$con);
|
||||
|
||||
self::assertEquals(__DIR__ . '/dirtest', $file->getDirPath());
|
||||
}
|
||||
|
|
@ -804,7 +804,7 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
public function testParentOutput() : void
|
||||
{
|
||||
$testFile = __DIR__ . '/dirtest/test.txt';
|
||||
$file = new File($testFile);
|
||||
$file = new File(new HttpUri(self::BASE . $testFile), self::$con);
|
||||
|
||||
self::assertEquals(__DIR__ . '/dirtest', $file->getDirPath());
|
||||
}
|
||||
|
|
@ -816,7 +816,7 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
\unlink($testFile);
|
||||
}
|
||||
|
||||
$file = new File($testFile);
|
||||
$file = new File(new HttpUri(self::BASE . $testFile), self::$con);
|
||||
|
||||
$file->createNode();
|
||||
self::assertTrue(\file_exists($testFile));
|
||||
|
|
@ -831,7 +831,7 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
\unlink($testFile);
|
||||
}
|
||||
|
||||
$file = new File($testFile);
|
||||
$file = new File(new HttpUri(self::BASE . $testFile), self::$con);
|
||||
|
||||
$file->createNode();
|
||||
self::assertTrue(\file_exists($testFile));
|
||||
|
|
@ -846,7 +846,7 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
\unlink($testFile);
|
||||
}
|
||||
|
||||
$file = new File($testFile);
|
||||
$file = new File(new HttpUri(self::BASE . $testFile), self::$con);
|
||||
|
||||
$file->createNode();
|
||||
self::assertTrue($file->copyNode(__DIR__ . '/test2.txt'));
|
||||
|
|
@ -864,7 +864,7 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
\unlink($testFile);
|
||||
}
|
||||
|
||||
$file = new File($testFile);
|
||||
$file = new File(new HttpUri(self::BASE . $testFile), self::$con);
|
||||
|
||||
$file->createNode();
|
||||
self::assertTrue($file->moveNode(__DIR__ . '/test2.txt'));
|
||||
|
|
@ -876,8 +876,8 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
|
||||
public function testNodeExists() : void
|
||||
{
|
||||
$file = new File(__DIR__ . '/dirtest/test.txt');
|
||||
$file2 = new File(__DIR__ . '/invalid.txt');
|
||||
$file = new File(new HttpUri(self::BASE . __DIR__ . '/dirtest/test.txt'), self::$con);
|
||||
$file2 = new File(new HttpUri(self::BASE . __DIR__ . '/invalid.txt'), self::$con);
|
||||
|
||||
self::assertTrue($file->isExisting());
|
||||
self::assertFalse($file2->isExisting());
|
||||
|
|
@ -885,14 +885,14 @@ class FileTest extends \PHPUnit\Framework\TestCase
|
|||
|
||||
public function testNodeParent() : void
|
||||
{
|
||||
$file = new File(__DIR__ . '/dirtest/test.txt');
|
||||
$file = new File(new HttpUri(self::BASE . __DIR__ . '/dirtest/test.txt'), self::$con);
|
||||
|
||||
self::assertEquals('Local', $file->getParent()->getName());
|
||||
}
|
||||
|
||||
public function testNodeDirectory() : void
|
||||
{
|
||||
$file = new File(__DIR__ . '/dirtest/test.txt');
|
||||
$file = new File(new HttpUri(self::BASE . __DIR__ . '/dirtest/test.txt'), self::$con);
|
||||
|
||||
self::assertEquals('dirtest', $file->getDirectory()->getName());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -701,7 +701,7 @@ class DirectoryTest extends \PHPUnit\Framework\TestCase
|
|||
{
|
||||
$dir = new Directory(__DIR__ . '/dirtest');
|
||||
|
||||
self::assertEquals('dirtest', $dir->next()->getDirname());
|
||||
self::assertEquals('dirtest', $dir->next()->getDirName());
|
||||
}
|
||||
|
||||
public function testName() : void
|
||||
|
|
@ -722,6 +722,6 @@ class DirectoryTest extends \PHPUnit\Framework\TestCase
|
|||
{
|
||||
$dir = new Directory(__DIR__ . '/dirtest');
|
||||
|
||||
self::assertEquals(__DIR__ . '/dirtest', $dir->next()->getDirpath());
|
||||
self::assertEquals(__DIR__ . '/dirtest', $dir->next()->getDirPath());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user