Skip to content

Commit

Permalink
Fix styling
Browse files Browse the repository at this point in the history
  • Loading branch information
freekmurze authored and github-actions[bot] committed Jul 15, 2024
1 parent e8d9f9f commit 55decc7
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 19 deletions.
22 changes: 9 additions & 13 deletions src/Conversions/Manipulations.php
Original file line number Diff line number Diff line change
Expand Up @@ -84,27 +84,22 @@ public function toArray(): array
return $this->manipulations;
}

/**
* @param int|string $manipulationName
* @param mixed $parameters
* @return mixed
*/
public function transformParameters(int|string $manipulationName, mixed $parameters): mixed
{
switch ($manipulationName) {
case 'border':
if (isset($parameters['type']) && !$parameters['type'] instanceof BorderType) {
if (isset($parameters['type']) && ! $parameters['type'] instanceof BorderType) {
$parameters['type'] = BorderType::from($parameters['type']);
}
break;
case 'watermark':
if (isset($parameters['fit']) && !$parameters['fit'] instanceof Fit) {
if (isset($parameters['fit']) && ! $parameters['fit'] instanceof Fit) {
$parameters['fit'] = Fit::from($parameters['fit']);
}
// Fallthrough intended for position
// Fallthrough intended for position
case 'resizeCanvas':
case 'insert':
if (isset($parameters['position']) && !$parameters['position'] instanceof AlignPosition) {
if (isset($parameters['position']) && ! $parameters['position'] instanceof AlignPosition) {
$parameters['position'] = AlignPosition::from($parameters['position']);
}
break;
Expand All @@ -113,30 +108,31 @@ public function transformParameters(int|string $manipulationName, mixed $paramet
case 'height':
if (isset($parameters['constraints']) && is_array($parameters['constraints'])) {
foreach ($parameters['constraints'] as &$constraint) {
if (!$constraint instanceof Constraint) {
if (! $constraint instanceof Constraint) {
$constraint = Constraint::from($constraint);
}
}
}
break;
case 'crop':
if (isset($parameters['position']) && !$parameters['position'] instanceof CropPosition) {
if (isset($parameters['position']) && ! $parameters['position'] instanceof CropPosition) {
$parameters['position'] = CropPosition::from($parameters['position']);
}
break;
case 'fit':
if (isset($parameters['fit']) && !$parameters['fit'] instanceof Fit) {
if (isset($parameters['fit']) && ! $parameters['fit'] instanceof Fit) {
$parameters['fit'] = Fit::from($parameters['fit']);
}
break;
case 'flip':
if (isset($parameters['flip']) && !$parameters['flip'] instanceof FlipDirection) {
if (isset($parameters['flip']) && ! $parameters['flip'] instanceof FlipDirection) {
$parameters['flip'] = FlipDirection::from($parameters['flip']);
}
break;
default:
break;
}

return $parameters;
}
}
12 changes: 6 additions & 6 deletions tests/Conversions/ImageManipulationTest.php
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
<?php

use Spatie\Image\Enums\BorderType;
use Spatie\Image\Enums\Fit;
use Spatie\Image\Enums\AlignPosition;
use Spatie\Image\Enums\BorderType;
use Spatie\Image\Enums\Constraint;
use Spatie\Image\Enums\CropPosition;
use Spatie\Image\Enums\Fit;
use Spatie\Image\Enums\FlipDirection;
use Spatie\Image\Image;
use Spatie\MediaLibrary\Conversions\Manipulations;

it('transforms parameters correctly', function () {
// Mock the image object
$image = Image::load(pathToImage: $this->getTestJpg());
$image = Image::load(pathToImage: $this->getTestJpg());

// Define manipulations
$manipulations = [
'border' => ['width' => 10, 'type' => 'expand'],
'watermark' => ['fit' => 'contain', 'watermarkImage' => $this->getTestPng()],
'resizeCanvas' => ['position' => 'center'],
'resize' => ['constraints' => ['preserveAspectRatio'], 'width' => 100, 'height' => 100],
'crop' => ['width' => 50, 'height'=> 50, 'position' => 'topLeft'],
'crop' => ['width' => 50, 'height' => 50, 'position' => 'topLeft'],
'fit' => ['fit' => 'contain'],
'flip' => ['flip' => 'horizontal'],
];
Expand Down Expand Up @@ -51,15 +51,15 @@

it('handles parameters that are already enum instances', function () {
// Mock the image object
$image = Image::load(pathToImage: $this->getTestJpg());
$image = Image::load(pathToImage: $this->getTestJpg());

// Define manipulations with parameters already as enum instances
$manipulations = [
'border' => ['width' => 10, 'type' => BorderType::Expand],
'watermark' => ['fit' => Fit::Contain, 'watermarkImage' => $this->getTestPng()],
'resizeCanvas' => ['position' => AlignPosition::Center],
'resize' => ['constraints' => [Constraint::PreserveAspectRatio], 'width' => 100, 'height' => 100],
'crop' => ['width' => 50, 'height'=> 50, 'position' => CropPosition::TopLeft],
'crop' => ['width' => 50, 'height' => 50, 'position' => CropPosition::TopLeft],
'fit' => ['fit' => Fit::Contain],
'flip' => ['flip' => FlipDirection::Horizontal],
];
Expand Down

0 comments on commit 55decc7

Please sign in to comment.