expectException(\RuntimeException::class); (new NullMediaEngine)->offer('p1', 'sdp'); } public function test_its_other_operations_are_harmless_no_ops(): void { $engine = new NullMediaEngine; $engine->addIceCandidate('p1', ['candidate' => 'x']); $engine->startRecording('p1', '/tmp/x.opus'); $engine->stopRecording('p1'); $engine->connectPeers('p1', 'p2'); $engine->bridge('p1', []); $engine->close('p1'); $this->assertSame('null', $engine->name()); } }