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

testCreate() public method

Tests the create() method.
public testCreate ( )
    public function testCreate()
    {
        $path = $this->getRootDir() . '/images/dummy.jpg';
        $imageMock = $this->getMockBuilder('Contao\\Image\\Image')->disableOriginalConstructor()->getMock();
        $resizer = $this->getMockBuilder('Contao\\Image\\Resizer')->disableOriginalConstructor()->getMock();
        $resizer->expects($this->exactly(2))->method('resize')->with($this->callback(function ($image) use(&$path) {
            /* @var Image $image */
            $this->assertEquals($path, $image->getPath());
            return true;
        }), $this->callback(function ($config) {
            /* @var ResizeConfiguration $config */
            $this->assertEquals(100, $config->getWidth());
            $this->assertEquals(200, $config->getHeight());
            $this->assertEquals(ResizeConfiguration::MODE_BOX, $config->getMode());
            return true;
        }))->willReturn($imageMock);
        $framework = $this->getMockBuilder('Contao\\CoreBundle\\Framework\\ContaoFramework')->disableOriginalConstructor()->getMock();
        $filesModel = $this->getMock('Contao\\FilesModel');
        $filesModel->expects($this->any())->method('__get')->willReturn(null);
        $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, null, null, null, $framework);
        $image = $imageFactory->create($path, [100, 200, ResizeConfiguration::MODE_BOX]);
        $this->assertSame($imageMock, $image);
        $path = $this->getRootDir() . '/assets/images/dummy.svg';
        if (!file_exists(dirname($path))) {
            mkdir(dirname($path), 0777, true);
        }
        file_put_contents($path, '');
        $image = $imageFactory->create($path, [100, 200, ResizeConfiguration::MODE_BOX]);
        $this->assertSame($imageMock, $image);
    }