@@ -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
201192class 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