Feature: Labelprint für Kistenetiketten hinzugefügt
This commit is contained in:
418
vendor/tecnickcom/tc-lib-pdf-graph/test/StyleTest.php
vendored
Normal file
418
vendor/tecnickcom/tc-lib-pdf-graph/test/StyleTest.php
vendored
Normal file
@@ -0,0 +1,418 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* StyleTest.php
|
||||
*
|
||||
* @since 2011-05-23
|
||||
* @category Library
|
||||
* @package PdfGraph
|
||||
* @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-graph
|
||||
*
|
||||
* This file is part of tc-lib-pdf-graph software library.
|
||||
*/
|
||||
|
||||
namespace Test;
|
||||
|
||||
/**
|
||||
* Style Test
|
||||
*
|
||||
* @since 2011-05-23
|
||||
* @category Library
|
||||
* @package PdfGraph
|
||||
* @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-graph
|
||||
*/
|
||||
class StyleTest extends TestUtil
|
||||
{
|
||||
protected function getTestObject(): \Com\Tecnick\Pdf\Graph\Draw
|
||||
{
|
||||
return new \Com\Tecnick\Pdf\Graph\Draw(
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
new \Com\Tecnick\Color\Pdf(),
|
||||
new \Com\Tecnick\Pdf\Encrypt\Encrypt(),
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
public function testGetStyleCmd(): void
|
||||
{
|
||||
$draw = $this->getTestObject();
|
||||
|
||||
$styleCmd = $draw->getStyleCmd();
|
||||
$exp1 = '';
|
||||
$this->assertEquals($exp1, $styleCmd);
|
||||
|
||||
$style2 = [
|
||||
'lineWidth' => 3,
|
||||
'lineCap' => 'round',
|
||||
'lineJoin' => 'bevel',
|
||||
'miterLimit' => 11,
|
||||
'dashArray' => [5, 7],
|
||||
'dashPhase' => 0,
|
||||
'lineColor' => 'greenyellow',
|
||||
'fillColor' => '["RGB",0.250000,0.500000,0.750000]',
|
||||
];
|
||||
$res2 = $draw->getStyleCmd($style2);
|
||||
$exp2 = '3.000000 w' . "\n"
|
||||
. '1 J' . "\n"
|
||||
. '2 j' . "\n"
|
||||
. '11.000000 M' . "\n"
|
||||
. '[5.000000 7.000000] 0.000000 d' . "\n"
|
||||
. '0.678431 1.000000 0.184314 RG' . "\n"
|
||||
. '0.250000 0.500000 0.750000 rg' . "\n";
|
||||
$this->assertEquals($exp2, $res2);
|
||||
}
|
||||
|
||||
public function testStyle(): void
|
||||
{
|
||||
$draw = $this->getTestObject();
|
||||
$style = [];
|
||||
$res1 = $draw->add($style, true);
|
||||
$exp1 = '1.000000 w' . "\n"
|
||||
. '0 J' . "\n"
|
||||
. '0 j' . "\n"
|
||||
. '10.000000 M' . "\n"
|
||||
. '[] 0.000000 d' . "\n"
|
||||
. '/CS1 CS 1.000000 SCN' . "\n"
|
||||
. '/CS1 cs 1.000000 scn' . "\n";
|
||||
$this->assertEquals($exp1, $res1);
|
||||
|
||||
$style = [
|
||||
'lineWidth' => 3,
|
||||
'lineCap' => 'round',
|
||||
'lineJoin' => 'bevel',
|
||||
'miterLimit' => 11,
|
||||
'dashArray' => [5, 7],
|
||||
'dashPhase' => 1,
|
||||
'lineColor' => 'greenyellow',
|
||||
'fillColor' => '["RGB",0.250000,0.500000,0.750000]',
|
||||
];
|
||||
$res2 = $draw->add($style, false);
|
||||
$exp2 = '3.000000 w' . "\n"
|
||||
. '1 J' . "\n"
|
||||
. '2 j' . "\n"
|
||||
. '11.000000 M' . "\n"
|
||||
. '[5.000000 7.000000] 1.000000 d' . "\n"
|
||||
. '0.678431 1.000000 0.184314 RG' . "\n"
|
||||
. '0.250000 0.500000 0.750000 rg' . "\n";
|
||||
$this->assertEquals($exp2, $res2);
|
||||
$this->assertEquals($style, $draw->getCurrentStyleArray());
|
||||
|
||||
$style = [
|
||||
'lineCap' => 'round',
|
||||
'lineJoin' => 'bevel',
|
||||
'lineColor' => 'transparent',
|
||||
'fillColor' => 'cmyk(67,33,0,25)',
|
||||
];
|
||||
$res3 = $draw->add($style, true);
|
||||
$exp3 = '3.000000 w' . "\n"
|
||||
. '1 J' . "\n"
|
||||
. '2 j' . "\n"
|
||||
. '11.000000 M' . "\n"
|
||||
. '[5.000000 7.000000] 1.000000 d' . "\n"
|
||||
. '0.670000 0.330000 0.000000 0.250000 k' . "\n";
|
||||
$this->assertEquals($exp3, $res3);
|
||||
|
||||
$style = [
|
||||
'lineCap' => 'round',
|
||||
'lineJoin' => 'bevel',
|
||||
'lineColor' => 'transparent',
|
||||
'fillColor' => 'cmyk(67,33,0,25)',
|
||||
'dashArray' => [],
|
||||
];
|
||||
$res4 = $draw->add($style, true);
|
||||
$exp4 = '3.000000 w' . "\n"
|
||||
. '1 J' . "\n"
|
||||
. '2 j' . "\n"
|
||||
. '11.000000 M' . "\n"
|
||||
. '[] 1.000000 d' . "\n"
|
||||
. '0.670000 0.330000 0.000000 0.250000 k' . "\n";
|
||||
$this->assertEquals($exp4, $res4);
|
||||
|
||||
$style = [
|
||||
'lineWidth' => 7.123,
|
||||
];
|
||||
$res5 = $draw->add($style, false);
|
||||
$exp5 = '7.123000 w' . "\n";
|
||||
$this->assertEquals($exp5, $res5);
|
||||
|
||||
$res = $draw->pop();
|
||||
$this->assertEquals($exp5, $res);
|
||||
|
||||
$res = $draw->pop();
|
||||
$this->assertEquals($exp4, $res);
|
||||
|
||||
$res = $draw->pop();
|
||||
$this->assertEquals($exp3, $res);
|
||||
|
||||
$res = $draw->pop();
|
||||
$this->assertEquals($exp2, $res);
|
||||
|
||||
$res = $draw->pop();
|
||||
$this->assertEquals($exp1, $res);
|
||||
}
|
||||
|
||||
public function testStyleEx(): void
|
||||
{
|
||||
$this->bcExpectException('\\' . \Com\Tecnick\Pdf\Graph\Exception::class);
|
||||
$draw = $this->getTestObject();
|
||||
$draw->pop();
|
||||
}
|
||||
|
||||
public function testSaveRestoreStyle(): void
|
||||
{
|
||||
$draw = $this->getTestObject();
|
||||
$draw->add(
|
||||
[
|
||||
'lineWidth' => 1,
|
||||
],
|
||||
false
|
||||
);
|
||||
$draw->add(
|
||||
[
|
||||
'lineWidth' => 2,
|
||||
],
|
||||
false
|
||||
);
|
||||
$draw->add(
|
||||
[
|
||||
'lineWidth' => 3,
|
||||
],
|
||||
false
|
||||
);
|
||||
$draw->saveStyleStatus();
|
||||
$draw->add(
|
||||
[
|
||||
'lineWidth' => 4,
|
||||
],
|
||||
false
|
||||
);
|
||||
$draw->add(
|
||||
[
|
||||
'lineWidth' => 5,
|
||||
],
|
||||
false
|
||||
);
|
||||
$draw->add(
|
||||
[
|
||||
'lineWidth' => 6,
|
||||
],
|
||||
false
|
||||
);
|
||||
$this->assertEquals(
|
||||
[
|
||||
'lineWidth' => 6,
|
||||
],
|
||||
$draw->getCurrentStyleArray()
|
||||
);
|
||||
$draw->restoreStyleStatus();
|
||||
$this->assertEquals(
|
||||
[
|
||||
'lineWidth' => 3,
|
||||
],
|
||||
$draw->getCurrentStyleArray()
|
||||
);
|
||||
}
|
||||
|
||||
public function testStyleItem(): void
|
||||
{
|
||||
$draw = $this->getTestObject();
|
||||
$res = $draw->getCurrentStyleItem('lineCap');
|
||||
$this->assertEquals('butt', $res);
|
||||
}
|
||||
|
||||
public function testStyleItemEx(): void
|
||||
{
|
||||
$this->bcExpectException('\\' . \Com\Tecnick\Pdf\Graph\Exception::class);
|
||||
$draw = $this->getTestObject();
|
||||
$draw->getCurrentStyleItem('wrongField');
|
||||
}
|
||||
|
||||
public function testGetLastStyleProperty(): void
|
||||
{
|
||||
$draw = $this->getTestObject();
|
||||
$draw->add(
|
||||
[
|
||||
'lineWidth' => 1,
|
||||
],
|
||||
false
|
||||
);
|
||||
$draw->add(
|
||||
[
|
||||
'lineWidth' => 2,
|
||||
],
|
||||
false
|
||||
);
|
||||
$draw->add(
|
||||
[
|
||||
'lineWidth' => 3,
|
||||
],
|
||||
false
|
||||
);
|
||||
$this->assertEquals(3, $draw->getLastStyleProperty('lineWidth', 0));
|
||||
$draw->add(
|
||||
[
|
||||
'lineWidth' => 4,
|
||||
],
|
||||
false
|
||||
);
|
||||
$this->assertEquals(4, $draw->getLastStyleProperty('lineWidth', 0));
|
||||
$this->assertEquals(7, $draw->getLastStyleProperty('unknown', 7));
|
||||
}
|
||||
|
||||
public function testGetPathPaintOp(): void
|
||||
{
|
||||
$draw = $this->getTestObject();
|
||||
$res = $draw->getPathPaintOp('', '');
|
||||
$this->assertEquals('', $res);
|
||||
|
||||
$res = $draw->getPathPaintOp('');
|
||||
$this->assertEquals('S' . "\n", $res);
|
||||
|
||||
$res = $draw->getPathPaintOp('', 'df');
|
||||
$this->assertEquals('b' . "\n", $res);
|
||||
|
||||
$res = $draw->getPathPaintOp('CEO');
|
||||
$this->assertEquals('W* n' . "\n", $res);
|
||||
|
||||
$res = $draw->getPathPaintOp('F*D');
|
||||
$this->assertEquals('B*' . "\n", $res);
|
||||
}
|
||||
|
||||
public function testIsFillingMode(): void
|
||||
{
|
||||
$draw = $this->getTestObject();
|
||||
$this->assertTrue($draw->isFillingMode('f'));
|
||||
$this->assertTrue($draw->isFillingMode('f*'));
|
||||
$this->assertTrue($draw->isFillingMode('B'));
|
||||
$this->assertTrue($draw->isFillingMode('B*'));
|
||||
$this->assertTrue($draw->isFillingMode('b'));
|
||||
$this->assertTrue($draw->isFillingMode('b*'));
|
||||
$this->assertFalse($draw->isFillingMode('S'));
|
||||
$this->assertFalse($draw->isFillingMode('s'));
|
||||
$this->assertFalse($draw->isFillingMode('n'));
|
||||
$this->assertFalse($draw->isFillingMode(''));
|
||||
}
|
||||
|
||||
public function testIsStrokingMode(): void
|
||||
{
|
||||
$draw = $this->getTestObject();
|
||||
$this->assertTrue($draw->isStrokingMode('S'));
|
||||
$this->assertTrue($draw->isStrokingMode('s'));
|
||||
$this->assertTrue($draw->isStrokingMode('B'));
|
||||
$this->assertTrue($draw->isStrokingMode('B*'));
|
||||
$this->assertTrue($draw->isStrokingMode('b'));
|
||||
$this->assertTrue($draw->isStrokingMode('b*'));
|
||||
$this->assertFalse($draw->isStrokingMode('f'));
|
||||
$this->assertFalse($draw->isStrokingMode('f*'));
|
||||
$this->assertFalse($draw->isStrokingMode('n'));
|
||||
$this->assertFalse($draw->isStrokingMode(''));
|
||||
}
|
||||
|
||||
public function testIsClosingMode(): void
|
||||
{
|
||||
$draw = $this->getTestObject();
|
||||
$this->assertTrue($draw->isClosingMode('s'));
|
||||
$this->assertTrue($draw->isClosingMode('b'));
|
||||
$this->assertTrue($draw->isClosingMode('b*'));
|
||||
$this->assertFalse($draw->isClosingMode('f'));
|
||||
$this->assertFalse($draw->isClosingMode('f*'));
|
||||
$this->assertFalse($draw->isClosingMode('S'));
|
||||
$this->assertFalse($draw->isClosingMode('B'));
|
||||
$this->assertFalse($draw->isClosingMode('B*'));
|
||||
$this->assertFalse($draw->isClosingMode('n'));
|
||||
$this->assertFalse($draw->isClosingMode(''));
|
||||
}
|
||||
|
||||
public function testGetModeWithoutClose(): void
|
||||
{
|
||||
$draw = $this->getTestObject();
|
||||
$this->assertEquals('', $draw->getModeWithoutClose(''));
|
||||
$this->assertEquals('S', $draw->getModeWithoutClose('s'));
|
||||
$this->assertEquals('B', $draw->getModeWithoutClose('b'));
|
||||
$this->assertEquals('B*', $draw->getModeWithoutClose('b*'));
|
||||
$this->assertEquals('n', $draw->getModeWithoutClose('n'));
|
||||
}
|
||||
|
||||
public function testGetModeWithoutFill(): void
|
||||
{
|
||||
$draw = $this->getTestObject();
|
||||
$this->assertEquals('', $draw->getModeWithoutFill(''));
|
||||
$this->assertEquals('', $draw->getModeWithoutFill('f'));
|
||||
$this->assertEquals('', $draw->getModeWithoutFill('f*'));
|
||||
$this->assertEquals('S', $draw->getModeWithoutFill('B'));
|
||||
$this->assertEquals('S', $draw->getModeWithoutFill('B*'));
|
||||
$this->assertEquals('s', $draw->getModeWithoutFill('b'));
|
||||
$this->assertEquals('s', $draw->getModeWithoutFill('b*'));
|
||||
$this->assertEquals('n', $draw->getModeWithoutFill('n'));
|
||||
}
|
||||
|
||||
public function testGetModeWithoutStroke(): void
|
||||
{
|
||||
$draw = $this->getTestObject();
|
||||
$this->assertEquals('', $draw->getModeWithoutStroke(''));
|
||||
$this->assertEquals('', $draw->getModeWithoutStroke('S'));
|
||||
$this->assertEquals('h', $draw->getModeWithoutStroke('s'));
|
||||
$this->assertEquals('f', $draw->getModeWithoutStroke('B'));
|
||||
$this->assertEquals('f*', $draw->getModeWithoutStroke('B*'));
|
||||
$this->assertEquals('h f', $draw->getModeWithoutStroke('b'));
|
||||
$this->assertEquals('h f*', $draw->getModeWithoutStroke('b*'));
|
||||
$this->assertEquals('n', $draw->getModeWithoutStroke('n'));
|
||||
}
|
||||
|
||||
public function testGetExtGState(): void
|
||||
{
|
||||
$draw = $this->getTestObject();
|
||||
$this->assertEquals(
|
||||
'/GS1 gs' . "\n",
|
||||
$draw->getExtGState(
|
||||
[
|
||||
'A' => 'B',
|
||||
]
|
||||
)
|
||||
);
|
||||
$this->assertEquals(
|
||||
'/GS1 gs' . "\n",
|
||||
$draw->getExtGState(
|
||||
[
|
||||
'A' => 'B',
|
||||
]
|
||||
)
|
||||
);
|
||||
$this->assertEquals(
|
||||
'/GS2 gs' . "\n",
|
||||
$draw->getExtGState(
|
||||
[
|
||||
'C' => 'D',
|
||||
]
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
public function testGetExtGStatePdfa(): void
|
||||
{
|
||||
$draw = new \Com\Tecnick\Pdf\Graph\Draw(
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
new \Com\Tecnick\Color\Pdf(),
|
||||
new \Com\Tecnick\Pdf\Encrypt\Encrypt(),
|
||||
true
|
||||
);
|
||||
$this->assertEquals(
|
||||
'',
|
||||
$draw->getExtGState(
|
||||
[
|
||||
'A' => 'B',
|
||||
]
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user