Files

154 lines
4.0 KiB
PHP

<?php
/**
* BoxTest.php
*
* @since 2011-05-23
* @category Library
* @package PdfPage
* @author Nicola Asuni <info@tecnick.com>
* @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD
* @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT)
* @link https://github.com/tecnickcom/tc-lib-pdf-page
*
* This file is part of tc-lib-pdf-page software library.
*/
namespace Test;
/**
* Box Test
*
* @since 2011-05-23
* @category Library
* @package PdfPage
* @author Nicola Asuni <info@tecnick.com>
* @copyright 2011-2024 Nicola Asuni - Tecnick.com LTD
* @license http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT)
* @link https://github.com/tecnickcom/tc-lib-pdf-page
*/
class BoxTest extends TestUtil
{
protected function getTestObject(): \Com\Tecnick\Pdf\Page\Page
{
$pdf = new \Com\Tecnick\Color\Pdf();
$encrypt = new \Com\Tecnick\Pdf\Encrypt\Encrypt(false);
return new \Com\Tecnick\Pdf\Page\Page('mm', $pdf, $encrypt, false, false);
}
public function testSetBox(): void
{
$page = $this->getTestObject();
$dims = $page->setBox([], 'CropBox', 2, 4, 6, 8);
$this->bcAssertEqualsWithDelta(
[
'CropBox' => [
'llx' => 2,
'lly' => 4,
'urx' => 6,
'ury' => 8,
'bci' => [
'color' => '#000000',
'width' => 0.353,
'style' => 'S',
'dash' => [3],
],
],
],
$dims
);
$dims = $page->setBox(
[],
'TrimBox',
3,
5,
7,
11,
[
'color' => 'aquamarine',
'width' => 2,
'style' => 'D',
'dash' => [2, 3, 5, 7],
]
);
$this->bcAssertEqualsWithDelta(
[
'TrimBox' => [
'llx' => 3,
'lly' => 5,
'urx' => 7,
'ury' => 11,
'bci' => [
'color' => 'aquamarine',
'width' => 2,
'style' => 'D',
'dash' => [2, 3, 5, 7],
],
],
],
$dims
);
}
public function testSetBoxEx(): void
{
$this->bcExpectException('\\' . \Com\Tecnick\Pdf\Page\Exception::class);
$page = $this->getTestObject();
$page->setBox([], 'ERROR', 1, 2, 3, 4);
}
public function testSwapCoordinates(): void
{
$page = $this->getTestObject();
$dims = [
'CropBox' => [
'llx' => 2,
'lly' => 4,
'urx' => 6,
'ury' => 8,
],
];
$newpagedim = $page->swapCoordinates($dims);
$this->assertEquals(
[
'CropBox' => [
'llx' => 4,
'lly' => 2,
'urx' => 8,
'ury' => 6,
],
],
$newpagedim
);
}
public function testSetPageBoxes(): void
{
$page = $this->getTestObject();
$dims = $page->setPageBoxes(100, 200);
$exp = [
'llx' => 0,
'lly' => 0,
'urx' => 100,
'ury' => 200,
'bci' => [
'color' => '#000000',
'width' => 0.353,
'style' => 'S',
'dash' => [3],
],
];
$this->bcAssertEqualsWithDelta(
[
'MediaBox' => $exp,
'CropBox' => $exp,
'BleedBox' => $exp,
'TrimBox' => $exp,
'ArtBox' => $exp,
],
$dims
);
}
}