* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Monolog\Handler; use Monolog\TestCase; use Monolog\Handler\SyslogUdp\UdpSocket; /** * @requires extension sockets */ class UdpSocketTest extends TestCase { public function testWeDoNotTruncateShortMessages() { $socket = $this->getMock('\Monolog\Handler\SyslogUdp\UdpSocket', array('send'), array('lol', 'lol')); $socket->expects($this->at(0)) ->method('send') ->with("HEADER: The quick brown fox jumps over the lazy dog"); $socket->write("The quick brown fox jumps over the lazy dog", "HEADER: "); } public function testLongMessagesAreTruncated() { $socket = $this->getMock('\Monolog\Handler\SyslogUdp\UdpSocket', array('send'), array('lol', 'lol')); $truncatedString = str_repeat("derp", 16254).'d'; $socket->expects($this->exactly(1)) ->method('send') ->with("HEADER" . $truncatedString); $longString = str_repeat("derp", 20000); $socket->write($longString, "HEADER"); } public function testDoubleCloseDoesNotError() { $socket = new UdpSocket('127.0.0.1', 514); $socket->close(); $socket->close(); } /** * @expectedException LogicException */ public function testWriteAfterCloseErrors() { $socket = new UdpSocket('127.0.0.1', 514); $socket->close(); $socket->write('foo', "HEADER"); } }