50 lines
1.7 KiB
PHP
50 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace Zelda\EscposPhp\Experimental\Unifont;
|
|
|
|
use Zelda\EscposPhp\PrintConnectors\DummyPrintConnector;
|
|
use Zelda\EscposPhp\Printer;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class UnifontPrintBufferTest extends TestCase
|
|
{
|
|
protected $printer;
|
|
protected $outputConnector;
|
|
|
|
protected function setUp(): void
|
|
{
|
|
$this->outputConnector = new DummyPrintConnector();
|
|
$this->printer = new Printer($this->outputConnector);
|
|
$filename = tempnam(sys_get_temp_dir(), "escpos-php-");
|
|
$glyphs = [
|
|
"0020:00000000000000000000000000000000", // space is guessed
|
|
"0041:0000000018242442427E424242420000" // Letter "A" from Wikipedia
|
|
];
|
|
file_put_contents($filename, implode("\n", $glyphs));
|
|
$printBuffer = new UnifontPrintBuffer($filename);
|
|
$this->printer->setPrintBuffer($printBuffer);
|
|
}
|
|
|
|
protected function checkOutput($expected = null)
|
|
{
|
|
/* Check those output strings */
|
|
$outp = $this->outputConnector->getData();
|
|
if ($expected === null) {
|
|
echo "\nOutput was:\n\"" . friendlyBinary($outp) . "\"\n";
|
|
}
|
|
$this->assertEquals($expected, $outp);
|
|
}
|
|
|
|
protected function tearDown(): void
|
|
{
|
|
$this->outputConnector->finalize();
|
|
}
|
|
|
|
public function testString()
|
|
{
|
|
// Render the text "AA A" rendered via used-defined font.
|
|
$this->printer->text("AA A\r\n");
|
|
$this->checkOutput("\x1b@\x1b!1\x1b%\x01\x1b&\x03 \x08\x00\x00\x00\x01\xfc\x00\x06@\x00\x08@\x00\x08@\x00\x06@\x00\x01\xfc\x00\x00\x00\x00 \x1b&\x03!!\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00! \x0a");
|
|
}
|
|
}
|