'2.0', 'method' => 'notifications/dummy', 'params' => [ '_meta' => ['key' => 'value'], ], ]); $expectedMeta = [ 'jsonrpc' => '2.0', 'method' => 'notifications/dummy', 'params' => [ '_meta' => ['key' => 'value'], ], ]; $this->assertSame($expectedMeta, $notification->jsonSerialize()); } public function testMetaDoesNotOverrideMetaFromParams(): void { $notificationImplementation = new class extends Notification { public static function getMethod(): string { return 'notifications/dummy'; } public static function fromParams(?array $params): self { return new self(); } protected function getParams(): array { return [ '_meta' => ['key' => 'from-params'], ]; } }; $notification = $notificationImplementation::fromArray([ 'jsonrpc' => '2.0', 'method' => 'notifications/dummy', 'params' => [ '_meta' => ['key' => 'from-meta'], ], ]); $expected = [ 'jsonrpc' => '2.0', 'method' => 'notifications/dummy', 'params' => [ '_meta' => ['key' => 'from-params'], ], ]; $this->assertSame($expected, $notification->jsonSerialize()); } }