phpunit bug fixes

This commit is contained in:
Dennis Eichhorn 2021-07-17 21:12:30 +02:00
parent 5a83fc22e2
commit 25f018795f
2 changed files with 13 additions and 11 deletions

View File

@ -152,20 +152,14 @@ class UploadFile
} }
$split = \explode('.', $f['name']); $split = \explode('.', $f['name']);
$result[$key]['filename'] = !empty($name) ? $name : $f['name']; $result[$key]['filename'] = !empty($name) && !$this->preserveFileName ? $name : $f['name'];
$extension = \count($split) > 1 ? $split[\count($split) - 1] : ''; $extension = \count($split) > 1 ? $split[\count($split) - 1] : '';
$result[$key]['extension'] = $extension; $result[$key]['extension'] = $extension;
if ($this->preserveFileName) { if (!$this->preserveFileName || \is_file($path . '/' . $result[$key]['filename'])) {
$name = $f['name'];
$result[$key]['filename'] = $name;
}
if (!$this->preserveFileName || empty($name) || \is_file($path . '/' . $name)) {
try { try {
$name = $this->createFileName($path, $f['tmp_name'], $extension); $result[$key]['filename'] = $this->createFileName($path, $f['tmp_name'], $extension);
$result[$key]['filename'] = $name;
} catch (\Exception $e) { } catch (\Exception $e) {
$result[$key]['filename'] = $f['name']; $result[$key]['filename'] = $f['name'];
$result[$key]['status'] = UploadStatus::FAILED_HASHING; $result[$key]['status'] = UploadStatus::FAILED_HASHING;
@ -184,7 +178,7 @@ class UploadFile
} }
} }
if (!\rename($f['tmp_name'], $dest = $path . '/' . $name)) { if (!\rename($f['tmp_name'], $dest = $path . '/' . $result[$key]['filename'])) {
$result[$key]['status'] = UploadStatus::NOT_MOVABLE; $result[$key]['status'] = UploadStatus::NOT_MOVABLE;
return $result; return $result;

View File

@ -15,6 +15,7 @@ declare(strict_types=1);
namespace Modules\Media\tests\Admin; namespace Modules\Media\tests\Admin;
use Modules\Media\Admin\Installer; use Modules\Media\Admin\Installer;
use phpOMS\Application\ApplicationAbstract;
/** /**
* @internal * @internal
@ -31,6 +32,13 @@ class AdminTest extends \PHPUnit\Framework\TestCase
{ {
$this->expectException(\phpOMS\System\File\PathException::class); $this->expectException(\phpOMS\System\File\PathException::class);
Installer::installExternal($GLOBALS['dbpool'], ['path' => 'invalid.json']); $app = new class() extends ApplicationAbstract
{
protected string $appName = 'Api';
};
$app->dbPool = $GLOBALS['dbpool'];
Installer::installExternal($app, ['path' => 'invalid.json']);
} }
} }