Skip to content

Commit 52396bf

Browse files
committed
Fix focal point test
1 parent 50a1fc0 commit 52396bf

File tree

1 file changed

+13
-22
lines changed

1 file changed

+13
-22
lines changed

tests/unit/ImageTransformTest.php

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,9 @@ public function testCropModeWithoutGravityUsesPositionMapping(): void
5757
], $transform->toOptions());
5858
}
5959

60-
public function testCropModeMapsFocalPointToClampedCropOriginGravity(): void
60+
public function testFocalPointGravityPassesThroughUnchanged(): void
6161
{
62-
$asset = $this->makeAssetStub(3402, 4253, ['x' => 0.474, 'y' => 0.3064]);
62+
$asset = $this->makeAssetStub(['x' => 0.474, 'y' => 0.3064]);
6363
$transform = new ImageTransform([
6464
'mode' => 'crop',
6565
'position' => 'top-center',
@@ -69,10 +69,10 @@ public function testCropModeMapsFocalPointToClampedCropOriginGravity(): void
6969

7070
(new TestImageTransformer())->applyFocalPointGravity($asset, $transform);
7171

72-
$this->assertEqualsWithDelta([
72+
$this->assertSame([
7373
'x' => 0.474,
74-
'y' => 0.1128,
75-
], $transform->gravity, 0.0001);
74+
'y' => 0.3064,
75+
], $transform->gravity);
7676
}
7777

7878
public function testGetTransformUrlDoesNotLeakGravityBetweenAssets(): void
@@ -89,19 +89,20 @@ public function testGetTransformUrlDoesNotLeakGravityBetweenAssets(): void
8989

9090
$transformer = new UrlTestImageTransformer();
9191

92-
$firstUrl = $transformer->getTransformUrl($firstAsset, $transform, true);
93-
$secondUrl = $transformer->getTransformUrl($secondAsset, $transform, true);
92+
$firstUrl = $transformer->buildTransformQuery($firstAsset, $transform);
93+
$secondUrl = $transformer->buildTransformQuery($secondAsset, $transform);
9494

9595
$this->assertStringContainsString('gravity%5Bx%5D=0.57', $firstUrl);
96-
$this->assertStringContainsString('gravity%5By%5D=0.9999999999999992', $firstUrl);
96+
$this->assertStringContainsString('gravity%5By%5D=0.7707', $firstUrl);
9797
$this->assertStringContainsString('gravity%5Bx%5D=0.4631', $secondUrl);
98+
$this->assertStringContainsString('gravity%5By%5D=0.308', $secondUrl);
9899
$this->assertStringNotContainsString('gravity%5Bx%5D=0.57', $secondUrl);
99100
}
100101

101-
private function makeAssetStub(int $width, int $height, array $focalPoint): Asset
102+
private function makeAssetStub(array $focalPoint): Asset
102103
{
103-
return new class($width, $height, $focalPoint) extends Asset {
104-
public function __construct(private int $widthValue, private int $heightValue, private array $focalPointValue)
104+
return new class($focalPoint) extends Asset {
105+
public function __construct(private array $focalPointValue)
105106
{
106107
parent::__construct();
107108
}
@@ -119,16 +120,6 @@ public function getFocalPoint(bool $asCss = false): array|string|null
119120

120121
return $this->focalPointValue;
121122
}
122-
123-
public function getWidth(array|string|\craft\models\ImageTransform $transform = null): ?int
124-
{
125-
return $this->widthValue;
126-
}
127-
128-
public function getHeight(mixed $transform = null): ?int
129-
{
130-
return $this->heightValue;
131-
}
132123
};
133124
}
134125

@@ -200,7 +191,7 @@ public function applyFocalPointGravity(Asset $asset, ImageTransform $imageTransf
200191

201192
class UrlTestImageTransformer extends ImageTransformer
202193
{
203-
public function getTransformUrl(Asset $asset, \craft\models\ImageTransform $imageTransform, bool $immediately): string
194+
public function buildTransformQuery(Asset $asset, \craft\models\ImageTransform $imageTransform): string
204195
{
205196
$imageTransform = \Craft::createObject(ImageTransform::class, [$imageTransform->toArray()]);
206197
$this->applyAssetFocalPointGravity($asset, $imageTransform);

0 commit comments

Comments
 (0)