on('message', function (Message $message) use ($fileEvent, &$isDiagnosticsCleared) { if ($message->body->method === "textDocument/publishDiagnostics") { $this->assertEquals($message->body->params->uri, $fileEvent->uri); $this->assertEquals($message->body->params->diagnostics, []); $isDiagnosticsCleared = true; } }); $workspace->didChangeWatchedFiles([$fileEvent]); Loop\tick(true); $this->assertTrue($isDiagnosticsCleared, "Deleting file should clear all diagnostics."); } }