Contao\CoreBundle\Test\Image\ImageFactoryTest::testCreateWithImageObjectAndResizeConfiguration PHP Method

testCreateWithImageObjectAndResizeConfiguration() public method

Tests the create() method.
    public function testCreateWithImageObjectAndResizeConfiguration()
    {
        $resizeConfig = (new ResizeConfiguration())->setWidth(100)->setHeight(200)->setMode(ResizeConfiguration::MODE_BOX)->setZoomLevel(50);
        $imageMock = $this->getMockBuilder('Contao\\Image\\ImageInterface')->disableOriginalConstructor()->getMock();
        $resizer = $this->getMockBuilder('Contao\\Image\\ResizerInterface')->disableOriginalConstructor()->getMock();
        $resizer->expects($this->once())->method('resize')->with($this->callback(function ($image) use($imageMock) {
            $this->assertSame($imageMock, $image);
            return true;
        }), $this->callback(function ($config) use($resizeConfig) {
            $this->assertSame($resizeConfig, $config);
            return true;
        }), $this->callback(function ($options) {
            /* @var ResizeOptions $options */
            $this->assertEquals(['jpeg_quality' => 80, 'interlace' => ImageInterface::INTERLACE_PLANE], $options->getImagineOptions());
            $this->assertEquals($this->getRootDir() . '/target/path.jpg', $options->getTargetPath());
            return true;
        }))->willReturn($imageMock);
        $imageFactory = $this->createImageFactory($resizer);
        $image = $imageFactory->create($imageMock, $resizeConfig, $this->getRootDir() . '/target/path.jpg');
        $this->assertSame($imageMock, $image);
    }