Contao\CoreBundle\Test\Image\PictureFactoryTest::testCreateWithoutModel PHP Method

testCreateWithoutModel() public method

Tests the create() method.
    public function testCreateWithoutModel()
    {
        $defaultDensities = '';
        $path = $this->getRootDir() . '/images/dummy.jpg';
        $imageMock = $this->getMockBuilder('Contao\\Image\\Image')->disableOriginalConstructor()->getMock();
        $pictureMock = $this->getMockBuilder('Contao\\Image\\Picture')->disableOriginalConstructor()->getMock();
        $pictureGenerator = $this->getMockBuilder('Contao\\Image\\PictureGenerator')->disableOriginalConstructor()->getMock();
        $pictureGenerator->expects($this->any())->method('generate')->with($this->callback(function (Image $image) use($imageMock) {
            $this->assertSame($imageMock, $image);
            return true;
        }), $this->callback(function (PictureConfiguration $pictureConfig) use(&$defaultDensities) {
            $this->assertEquals(100, $pictureConfig->getSize()->getResizeConfig()->getWidth());
            $this->assertEquals(200, $pictureConfig->getSize()->getResizeConfig()->getHeight());
            $this->assertEquals(ResizeConfiguration::MODE_BOX, $pictureConfig->getSize()->getResizeConfig()->getMode());
            $this->assertEquals(0, $pictureConfig->getSize()->getResizeConfig()->getZoomLevel());
            $this->assertEquals($defaultDensities, $pictureConfig->getSize()->getDensities());
            $this->assertEquals('', $pictureConfig->getSize()->getSizes());
            return true;
        }))->willReturn($pictureMock);
        $imageFactory = $this->getMockBuilder('Contao\\CoreBundle\\Image\\ImageFactory')->disableOriginalConstructor()->getMock();
        $imageFactory->expects($this->any())->method('create')->with($this->callback(function ($imagePath) use($path) {
            $this->assertEquals($path, $imagePath);
            return true;
        }), $this->callback(function ($size) {
            $this->assertNull($size);
            return true;
        }))->willReturn($imageMock);
        $pictureFactory = $this->createPictureFactory($pictureGenerator, $imageFactory);
        $picture = $pictureFactory->create($path, [100, 200, ResizeConfiguration::MODE_BOX]);
        $this->assertSame($pictureMock, $picture);
        $defaultDensities = '1x, 2x';
        $pictureFactory->setDefaultDensities($defaultDensities);
        $picture = $pictureFactory->create($path, [100, 200, ResizeConfiguration::MODE_BOX]);
        $this->assertSame($pictureMock, $picture);
    }