* @copyright 2015-2026 Nicola Asuni - Tecnick.com LTD * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) * @link https://github.com/tecnickcom/tc-lib-barcode * * This file is part of tc-lib-barcode software library. */ namespace Test\Linear; use Test\TestUtil; /** * Barcode class test * * @since 2015-02-21 * @category Library * @package Barcode * @author Nicola Asuni * @copyright 2015-2026 Nicola Asuni - Tecnick.com LTD * @license https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE) * @link https://github.com/tecnickcom/tc-lib-barcode */ class KlantIndexTest extends TestUtil { protected function getTestObject(): \Com\Tecnick\Barcode\Barcode { return new \Com\Tecnick\Barcode\Barcode(); } /** * @throws \Com\Tecnick\Barcode\Exception * @throws \Com\Tecnick\Color\Exception */ public function testGetGrid(): void { $barcode = $this->getTestObject(); $type = $barcode->getBarcodeObj('KIX', '0123456789'); $grid = $type->getGrid(); $expected = "00001010000010100000101000001010000010100000101000100010001000100010001000100010\n" . "10101010101010101010101010101010101010101010101010101010101010101010101010101010\n" . "00001010001000100010100010000010100010001010000000001010001000100010100010000010\n"; $this->assertEquals($expected, $grid); } /** * Regression: invalid characters used to be silently mis-encoded. * * @throws \Com\Tecnick\Barcode\Exception * @throws \Com\Tecnick\Color\Exception */ public function testInvalidCharacter(): void { $this->bcExpectException(\Com\Tecnick\Barcode\Exception::class); $barcode = $this->getTestObject(); $barcode->getBarcodeObj('KIX', 'INVALID!'); } /** * Regression: empty input used to raise an uncaught DivisionByZeroError. * * @throws \Com\Tecnick\Barcode\Exception * @throws \Com\Tecnick\Color\Exception */ public function testEmptyInput(): void { $this->bcExpectException(\Com\Tecnick\Barcode\Exception::class); $barcode = $this->getTestObject(); $barcode->getBarcodeObj('KIX', ''); } }