Skip to content

Commit 7c93dfe

Browse files
committed
Adds method to filter test transmitter queue
1 parent 72b9650 commit 7c93dfe

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

Diff for: lib/Core/Server/Transmitter/TestMessageTransmitter.php

+20
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,31 @@ final class TestMessageTransmitter implements MessageTransmitter, TestMessageTra
1515
*/
1616
private $buffer = [];
1717

18+
public function __construct(Message ...$buffer)
19+
{
20+
$this->buffer = $buffer;
21+
}
22+
1823
public function transmit(Message $response): void
1924
{
2025
$this->buffer[] = $response;
2126
}
2227

28+
public function filterByMethod(string $method): self
29+
{
30+
return new self(...array_filter($this->buffer, function (Message $message) use ($method) {
31+
if (
32+
!$message instanceof RequestMessage &&
33+
!$message instanceof NotificationMessage
34+
)
35+
{
36+
return false;
37+
}
38+
39+
return $message->method === $method;
40+
}));
41+
}
42+
2343
public function shift(): ?Message
2444
{
2545
return array_shift($this->buffer);

0 commit comments

Comments
 (0)