1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
<?php
declare(strict_types=1);
namespace LaminasTest\Stdlib;
use Laminas\Stdlib\Exception\InvalidArgumentException;
use Laminas\Stdlib\Message;
use PHPUnit\Framework\TestCase;
use stdClass;
final class MessageTest extends TestCase
{
public function testMessageCanSetAndGetContent(): void
{
$message = new Message();
$message->setContent('I can set content');
self::assertEquals('I can set content', $message->getContent());
}
public function testMessageCanSetAndGetMetadataKeyAsString(): void
{
$message = new Message();
$message->setMetadata('foo', 'bar');
self::assertEquals('bar', $message->getMetadata('foo'));
self::assertEquals(['foo' => 'bar'], $message->getMetadata());
}
public function testMessageCanSetAndGetMetadataKeyAsArray(): void
{
$message = new Message();
$message->setMetadata(['foo' => 'bar']);
self::assertEquals('bar', $message->getMetadata('foo'));
}
public function testMessageGetMetadataWillUseDefaultValueIfNoneExist(): void
{
$message = new Message();
self::assertEquals('bar', $message->getMetadata('foo', 'bar'));
}
public function testMessageThrowsExceptionOnInvalidKeyForMetadataSet(): void
{
$message = new Message();
$this->expectException(InvalidArgumentException::class);
/** @psalm-suppress InvalidArgument */
$message->setMetadata(new stdClass());
}
public function testMessageThrowsExceptionOnInvalidKeyForMetadataGet(): void
{
$message = new Message();
$this->expectException(InvalidArgumentException::class);
/** @psalm-suppress InvalidArgument */
$message->getMetadata(new stdClass());
}
public function testMessageToStringWorks(): void
{
$message = new Message();
$message->setMetadata(['Foo' => 'bar', 'One' => 'Two']);
$message->setContent('This is my content');
$expected = "Foo: bar\r\nOne: Two\r\n\r\nThis is my content";
self::assertEquals($expected, $message->toString());
}
}
|