chore(tests): UT for MinifyCss

Signed-off-by: Rubén D <nuxsmin@syspass.org>
This commit is contained in:
Rubén D
2023-12-06 12:44:01 +01:00
parent 6f05a914ef
commit dfec9bbd06
6 changed files with 18 additions and 32 deletions

View File

@@ -24,6 +24,7 @@
namespace SP\Modules\Web\Controllers\Resource;
use SP\Http\Request as HttpRequest;
use SP\Infrastructure\File\FileHandler;
use SP\Util\FileUtil;
@@ -50,9 +51,9 @@ final class CssController extends ResourceBase
$base = $this->request->analyzeString('b');
if ($file && $base) {
$files = $this->buildFiles(urldecode($base), explode(',', urldecode($file)));
$files = $this->buildFiles(urldecode($base), explode(',', urldecode($file)), true);
$this->minify->builder(true)
$this->minify->builder()
->addFiles($files)
->getMinified();
} else {
@@ -68,10 +69,13 @@ final class CssController extends ResourceBase
/**
* @param string $base
* @param array $files
* @param bool $insecure
* @return FileHandler[]
*/
private function buildFiles(string $base, array $files): array
private function buildFiles(string $base, array $files, bool $insecure = false): array
{
$base = $insecure ? HttpRequest::getSecureAppPath($base) : $base;
return array_map(
fn(string $file) => new FileHandler(FileUtil::buildPath($base, $file)),
$files

View File

@@ -24,6 +24,7 @@
namespace SP\Modules\Web\Controllers\Resource;
use SP\Http\Request as HttpRequest;
use SP\Infrastructure\File\FileHandler;
use SP\Util\FileUtil;
@@ -67,9 +68,9 @@ final class JsController extends ResourceBase
$base = $this->request->analyzeString('b');
if ($file && $base) {
$files = $this->buildFiles(urldecode($base), explode(',', urldecode($file)));
$files = $this->buildFiles(urldecode($base), explode(',', urldecode($file)), true);
$this->minify->builder(true)
$this->minify->builder()
->addFiles($files)
->getMinified();
} else {
@@ -95,10 +96,13 @@ final class JsController extends ResourceBase
/**
* @param string $base
* @param array $files
* @param bool $insecure
* @return FileHandler[]
*/
private function buildFiles(string $base, array $files): array
private function buildFiles(string $base, array $files, bool $insecure = false): array
{
$base = $insecure ? HttpRequest::getSecureAppPath($base) : $base;
return array_map(
fn(string $file) => new FileHandler(FileUtil::buildPath($base, $file)),
$files

View File

@@ -35,8 +35,7 @@ final class MinifyFile
{
public function __construct(
private readonly FileHandlerInterface $fileHandler,
private readonly bool $minify,
private readonly bool $insecure
private readonly bool $minify
) {
}
@@ -55,13 +54,6 @@ final class MinifyFile
return HttpRequest::getSecureAppFile($this->fileHandler->getName(), $this->fileHandler->getBase());
}
public function getBase(): string
{
return $this->insecure ? HttpRequest::getSecureAppPath(
$this->fileHandler->getBase()
) : $this->fileHandler->getBase();
}
/**
* @throws FileException
*/

View File

@@ -55,9 +55,5 @@ interface MinifyInterface
*/
public function addFiles(array $files, bool $minify = true): MinifyInterface;
/**
* @param bool $insecure Whether the $base path is insecure
* @return MinifyInterface
*/
public function builder(bool $insecure = false): MinifyInterface;
public function builder(): MinifyInterface;
}

View File

@@ -164,11 +164,8 @@ abstract class Minify implements MinifyInterface
return $this;
}
public function builder(bool $insecure = false): MinifyInterface
public function builder(): MinifyInterface
{
$clone = clone $this;
$clone->insecure = $insecure;
return $clone;
return clone $this;
}
}

View File

@@ -234,13 +234,6 @@ class MinifyCssTest extends UnitaryTestCase
self::assertNotEquals(spl_object_id($this->minifyCss), spl_object_id($out));
}
public function testBuilderWithInsecure()
{
$out = $this->minifyCss->builder(true);
self::assertNotEquals(spl_object_id($this->minifyCss), spl_object_id($out));
}
/**
* @throws Exception
* @throws FileException