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

testCreateWithLegacyMode() public method

Tests the create() method.
public testCreateWithLegacyMode ( string $mode, array $expected )
$mode string
$expected array
    public function testCreateWithLegacyMode($mode, array $expected)
    {
        $path = $this->getRootDir() . '/images/none.jpg';
        $imageMock = $this->getMockBuilder('Contao\\Image\\Image')->disableOriginalConstructor()->getMock();
        $filesystem = $this->getMock('Symfony\\Component\\Filesystem\\Filesystem');
        $filesystem->expects($this->once())->method('exists')->willReturn(true);
        $resizer = $this->getMockBuilder('Contao\\Image\\Resizer')->disableOriginalConstructor()->getMock();
        $resizer->expects($this->once())->method('resize')->with($this->callback(function ($image) use($path, $expected) {
            /* @var Image $image */
            $this->assertEquals($path, $image->getPath());
            $this->assertEquals(new ImportantPart(new Point($expected[0], $expected[1]), new Box($expected[2], $expected[3])), $image->getImportantPart());
            return true;
        }), $this->callback(function ($config) {
            /* @var ResizeConfiguration $config */
            $this->assertEquals(50, $config->getWidth());
            $this->assertEquals(50, $config->getHeight());
            $this->assertEquals(ResizeConfiguration::MODE_CROP, $config->getMode());
            $this->assertEquals(0, $config->getZoomLevel());
            return true;
        }))->willReturn($imageMock);
        $imagineImageMock = $this->getMock('Imagine\\Image\\ImageInterface');
        $imagineImageMock->expects($this->once())->method('getSize')->willReturn(new Box(100, 100));
        $imagine = $this->getMock('Imagine\\Image\\ImagineInterface');
        $imagine->expects($this->once())->method('open')->willReturn($imagineImageMock);
        $framework = $this->getMockBuilder('Contao\\CoreBundle\\Framework\\ContaoFramework')->disableOriginalConstructor()->getMock();
        $filesModel = $this->getMock('Contao\\FilesModel');
        $filesModel->expects($this->any())->method('__get')->will($this->returnCallback(function ($key) {
            return ['importantPartX' => '50', 'importantPartY' => '50', 'importantPartWidth' => '25', 'importantPartHeight' => '25'][$key];
        }));
        $filesAdapter = $this->getMockBuilder('Contao\\CoreBundle\\Framework\\Adapter')->disableOriginalConstructor()->getMock();
        $filesAdapter->expects($this->any())->method('__call')->willReturn($filesModel);
        $framework->expects($this->any())->method('getAdapter')->willReturn($filesAdapter);
        $imageFactory = $this->createImageFactory($resizer, $imagine, $imagine, $filesystem, $framework);
        $image = $imageFactory->create($path, [50, 50, $mode]);
        $this->assertSame($imageMock, $image);
    }