diff --git a/src/Manipulators/BaseManipulator.php b/src/Manipulators/BaseManipulator.php index de92be5..b242056 100644 --- a/src/Manipulators/BaseManipulator.php +++ b/src/Manipulators/BaseManipulator.php @@ -20,7 +20,7 @@ abstract class BaseManipulator implements ManipulatorInterface */ public function setParams(array $params): static { - $this->params = $params; + $this->params = array_filter($params, fn (string $key): bool => in_array($key, $this->getApiParams()), ARRAY_FILTER_USE_KEY); return $this; } @@ -30,8 +30,6 @@ public function setParams(array $params): static */ public function getParam(string $name): mixed { - return array_key_exists($name, $this->params) - ? $this->params[$name] - : null; + return $this->params[$name] ?? null; } } diff --git a/src/Manipulators/Border.php b/src/Manipulators/Border.php index da56c6d..c0de350 100644 --- a/src/Manipulators/Border.php +++ b/src/Manipulators/Border.php @@ -13,7 +13,7 @@ class Border extends BaseManipulator { public function getApiParams(): array { - return ['border']; + return ['border', 'dpr']; } /** diff --git a/src/Manipulators/Size.php b/src/Manipulators/Size.php index 2a6f724..ac4a12a 100644 --- a/src/Manipulators/Size.php +++ b/src/Manipulators/Size.php @@ -26,7 +26,7 @@ public function __construct(?int $maxImageSize = null) public function getApiParams(): array { - return ['w', 'f', 'fit', 'dpr']; + return ['w', 'h', 'fit', 'dpr']; } /** diff --git a/src/Manipulators/Watermark.php b/src/Manipulators/Watermark.php index 2a73aeb..83938db 100644 --- a/src/Manipulators/Watermark.php +++ b/src/Manipulators/Watermark.php @@ -35,7 +35,7 @@ public function __construct(?FilesystemOperator $watermarks = null, string $wate public function getApiParams(): array { - return ['mark', 'markw', 'markh', 'markx', 'marky', 'markpad', 'markfit', 'markpos', 'markalpha', 'dpr']; + return ['mark', 'markw', 'markh', 'markx', 'marky', 'markpad', 'markfit', 'markpos', 'markalpha', 'dpr', 'w', 'h']; } /** diff --git a/tests/Api/ApiTest.php b/tests/Api/ApiTest.php index b8e635d..2caf418 100644 --- a/tests/Api/ApiTest.php +++ b/tests/Api/ApiTest.php @@ -12,7 +12,7 @@ class ApiTest extends TestCase { - private $api; + private Api $api; public function setUp(): void { @@ -24,30 +24,30 @@ public function tearDown(): void \Mockery::close(); } - public function testCreateInstance() + public function testCreateInstance(): void { $this->assertInstanceOf(Api::class, $this->api); } - public function testSetImageManager() + public function testSetImageManager(): void { $this->api->setImageManager(ImageManager::gd()); $this->assertInstanceOf(ImageManager::class, $this->api->getImageManager()); } - public function testGetImageManager() + public function testGetImageManager(): void { $this->assertInstanceOf(ImageManager::class, $this->api->getImageManager()); } - public function testSetManipulators() + public function testSetManipulators(): void { $this->api->setManipulators([\Mockery::mock(ManipulatorInterface::class)]); $manipulators = $this->api->getManipulators(); $this->assertInstanceOf(ManipulatorInterface::class, $manipulators[0]); } - public function testSetInvalidManipulator() + public function testSetInvalidManipulator(): void { $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('Not a valid manipulator.'); @@ -55,7 +55,7 @@ public function testSetInvalidManipulator() $this->api->setManipulators([new \stdClass()]); } - public function testGetManipulators() + public function testGetManipulators(): void { $this->assertEquals([], $this->api->getManipulators()); } @@ -73,7 +73,7 @@ public function testGetApiParams(): void $this->assertEquals(array_merge(Api::GLOBAL_API_PARAMS, ['foo', 'bar', 'baz']), $api->getApiParams()); } - public function testRun() + public function testRun(): void { $image = \Mockery::mock(ImageInterface::class, function ($mock) { $mock->shouldReceive('origin')->andReturn(\Mockery::mock('\Intervention\Image\Origin', function ($mock) { @@ -96,7 +96,7 @@ public function testRun() $api = new Api($manager, [$manipulator]); $this->assertEquals('encoded', $api->run( - file_get_contents(dirname(__FILE__, 2).'/files/red-pixel.png'), + (string) file_get_contents(dirname(__FILE__, 2).'/files/red-pixel.png'), [] )); }