shlink/module/Common/test/Image/ImageFactoryTest.php

58 lines
1.5 KiB
PHP
Raw Normal View History

2016-08-18 17:37:50 +03:00
<?php
2017-10-12 11:13:20 +03:00
declare(strict_types=1);
2016-08-18 17:37:50 +03:00
namespace ShlinkioTest\Shlink\Common\Image;
use mikehaertl\wkhtmlto\Image;
2017-03-24 22:34:18 +03:00
use PHPUnit\Framework\TestCase;
use ReflectionObject;
2016-08-18 17:37:50 +03:00
use Shlinkio\Shlink\Common\Image\ImageFactory;
use Zend\ServiceManager\ServiceManager;
class ImageFactoryTest extends TestCase
{
/** @var ImageFactory */
private $factory;
2016-08-18 17:37:50 +03:00
public function setUp()
{
$this->factory = new ImageFactory();
}
/**
* @test
*/
public function noPageIsSetWhenOptionsAreNotProvided()
{
/** @var Image $image */
$image = $this->factory->__invoke(new ServiceManager(['services' => [
'config' => ['wkhtmltopdf' => []],
2016-08-18 17:37:50 +03:00
]]), '');
$this->assertInstanceOf(Image::class, $image);
$ref = new ReflectionObject($image);
2016-08-18 17:37:50 +03:00
$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' => ['wkhtmltopdf' => []],
2016-08-18 17:37:50 +03:00
]]), '', ['url' => $expectedPage]);
$this->assertInstanceOf(Image::class, $image);
$ref = new ReflectionObject($image);
2016-08-18 17:37:50 +03:00
$page = $ref->getProperty('_page');
$page->setAccessible(true);
$this->assertEquals($expectedPage, $page->getValue($image));
}
}