54 lines
1.9 KiB
PHP
54 lines
1.9 KiB
PHP
<?php
|
|
|
|
use Zelda\EscposPhp\PrintConnectors\UriPrintConnector;
|
|
use PHPUnit\Framework\Error\Notice;
|
|
|
|
class UriPrintConnectorTest extends PHPUnit\Framework\TestCase
|
|
{
|
|
public function testFile()
|
|
{
|
|
$filename = tempnam(sys_get_temp_dir(), "escpos-php-");
|
|
// Make connector, write some data
|
|
$connector = UriPrintConnector::get("file://" . $filename);
|
|
$connector->write("AAA");
|
|
$connector->finalize();
|
|
$this->assertEquals("AAA", file_get_contents($filename));
|
|
$this->assertEquals('Zelda\EscposPhp\PrintConnectors\FilePrintConnector', get_class($connector));
|
|
unlink($filename);
|
|
}
|
|
|
|
public function testSmb()
|
|
{
|
|
$this->expectNotice();
|
|
$this->expectNoticeMessage("not finalized");
|
|
$connector = UriPrintConnector::get("smb://windows/printer");
|
|
$this->assertEquals('Zelda\EscposPhp\PrintConnectors\WindowsPrintConnector', get_class($connector));
|
|
// We expect that this will throw an exception, we can't
|
|
// realistically print to a real printer in this test though... :)
|
|
$connector->__destruct();
|
|
}
|
|
|
|
public function testBadUri()
|
|
{
|
|
$this->expectException(InvalidArgumentException::class);
|
|
$this->expectExceptionMessage("Malformed connector URI");
|
|
$connector = UriPrintConnector::get("foooooo");
|
|
}
|
|
|
|
public function testNetwork()
|
|
{
|
|
$this->expectExceptionMessage("Connection refused");
|
|
$this->expectException(Exception::class);
|
|
// Port should be closed so we can catch an error and move on
|
|
$connector = UriPrintConnector::get("tcp://localhost:45987/");
|
|
}
|
|
|
|
public function testUnsupportedUri()
|
|
{
|
|
$this->expectExceptionMessage("URI sheme is not supported: ldap://");
|
|
$this->expectException(InvalidArgumentException::class);
|
|
// Try to print to something silly
|
|
$connector = UriPrintConnector::get("ldap://host:1234/");
|
|
}
|
|
}
|