setSource($sw, $sh) ->setBaseWidthHeight($tw, $th) ->setResizeStrategy(CImageResizer::CROP_TO_FIT) ->calculateTargetWidthAndHeight(); $this->assertEquals($tw, $img->getTargetWidth(), "Target width not correct."); $this->assertEquals($th, $img->getTargetHeight(), "Target height not correct."); $this->assertEquals($cx, $img->getCropX(), "CropX not correct."); $this->assertEquals($cy, $img->getCropY(), "CropY not correct."); $this->assertEquals($cw, $img->getCropWidth(), "CropWidth not correct."); $this->assertEquals($ch, $img->getCropHeight(), "CropHeight not correct."); } /** * Provider * * @return array */ public function providerImages2() { return [ // Square [100, 100, 200, 200, 50, 50, 100, 100], [100, 100, 400, 100, 150, 0, 100, 100], [100, 100, 100, 400, 0, 150, 100, 100], [100, 100, 400, 400, 150, 150, 100, 100], [491, 323, 600, 400, 55, 39, 491, 323], // Landscape // Portrait ]; } /** * Test * * @dataProvider providerImages * * @return void */ public function testResize2($sw, $sh, $tw, $th, $cx, $cy, $cw, $ch) { $img = new CImageResizer(/*'logger'/**/); $img->setSource($sw, $sh) ->setBaseWidthHeight($tw, $th) ->setResizeStrategy(CImageResizer::CROP_TO_FIT) ->allowUpscale(false) ->calculateTargetWidthAndHeight(); $this->assertEquals($tw, $img->getTargetWidth(), "Target width not correct."); $this->assertEquals($th, $img->getTargetHeight(), "Target height not correct."); $this->assertEquals($cx, $img->getCropX(), "CropX not correct."); $this->assertEquals($cy, $img->getCropY(), "CropY not correct."); $this->assertEquals($cw, $img->getCropWidth(), "CropWidth not correct."); $this->assertEquals($ch, $img->getCropHeight(), "CropHeight not correct."); } }