projectIndex->on('wipe', function() use ($promise) { $promise->fulfill(); }); $options = new Options; $options->fileTypes = [ '.inc' ]; $this->workspace->didChangeConfiguration($options); $promise->wait(); } public function testReindexingAfterWipe() { $promise = new Promise; $this->output->on('message', function (Message $msg) use ($promise) { if ($msg->body->method === 'window/logMessage' && $promise->state === Promise::PENDING) { if ($msg->body->params->type === MessageType::ERROR) { $promise->reject(new Exception($msg->body->params->message)); } elseif (strpos($msg->body->params->message, 'All 0 PHP files parsed') !== false) { $promise->fulfill(); } } }); $options = new Options; $options->fileTypes = [ '.inc' ]; $this->workspace->didChangeConfiguration($options); $promise->wait(); } public function testGetChangedOptions() { } }