<?php declare(strict_types=1); namespace ShlinkioTest\Shlink\Common\Image; use mikehaertl\wkhtmlto\Image; use PHPUnit\Framework\TestCase; use Shlinkio\Shlink\Common\Image\ImageFactory; use Zend\ServiceManager\ServiceManager; class ImageFactoryTest extends TestCase { /** * @var ImageFactory */ protected $factory; public function setUp() { $this->factory = new ImageFactory(); } /** * @test */ public function noPageIsSetWhenOptionsAreNotProvided() { /** @var Image $image */ $image = $this->factory->__invoke(new ServiceManager(['services' => [ 'config' => ['phpwkhtmltopdf' => []], ]]), ''); $this->assertInstanceOf(Image::class, $image); $ref = new \ReflectionObject($image); $page = $ref->getProperty('_page'); $page->setAccessible(true); $this->assertNull($page->getValue($image)); } /** * @test */ public function aPageIsSetWhenOptionsIncludeTheUrl() { $expectedPage = 'foo/bar.html'; /** @var Image $image */ $image = $this->factory->__invoke(new ServiceManager(['services' => [ 'config' => ['phpwkhtmltopdf' => []], ]]), '', ['url' => $expectedPage]); $this->assertInstanceOf(Image::class, $image); $ref = new \ReflectionObject($image); $page = $ref->getProperty('_page'); $page->setAccessible(true); $this->assertEquals($expectedPage, $page->getValue($image)); } }