diff --git a/tests/unit/Controller/MessageTest.php b/tests/unit/Controller/MessageTest.php index 940bb72..a9072e1 100644 --- a/tests/unit/Controller/MessageTest.php +++ b/tests/unit/Controller/MessageTest.php @@ -6,13 +6,15 @@ use Aloefflerj\YetAnotherController\Controller\Http\Message; use Aloefflerj\YetAnotherController\Controller\Http\Stream; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; +use Psr\Http\Message\MessageInterface; class MessageTest extends TestCase { - public function testProtocolVersion(): void + #[DataProvider('messageProvider')] + public function testProtocolVersion(MessageInterface $message): void { - $message = new Message(); $this->assertEquals('1.0', $message->getProtocolVersion()); $message = $message->withProtocolVersion('1.1'); @@ -26,7 +28,7 @@ public function testHeaders(): void $this->assertEquals(false, $message->hasHeader('content-type')); $this->assertEquals([], $message->getHeader('content-type')); $this->assertEquals('', $message->getHeaderLine('content-type')); - + $message = $message->withHeader('content-type', 'application/json'); $message = $message->withHeader('user-agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'); $settedHeader = [ @@ -38,11 +40,11 @@ public function testHeaders(): void $message = $message->withHeader('content-type', 'text/html'); $settedHeader['content-type'] = ['text/html']; $this->assertEquals($settedHeader, $message->getHeaders()); - + $settedHeader['content-type'][] = 'application/json'; $message = $message->withAddedHeader('content-type', 'application/json'); $this->assertEquals($settedHeader, $message->getHeaders()); - + $settedHeader['origin'] = ['127.0.0.1:80', '127.0.0.1:443']; $message = $message->withAddedHeader('origin', ['127.0.0.1:80', '127.0.0.1:443']); $this->assertEquals($settedHeader, $message->getHeaders()); @@ -65,4 +67,16 @@ public function testBody(): void $message = $message->withBody($stream); $this->assertEquals($michaelFamousSaying, $message->getBody()); } + + /** + * @return MessageInterface[] + */ + public static function messageProvider(): array + { + $message = new Message(); + + return [ + [$message] + ]; + } }