From 5f096c4bf782dbb4d72f399c3eafb1abd9fbb5b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Steitz?= Date: Sat, 18 Feb 2017 01:18:52 +0100 Subject: [PATCH] Add test for indexing multiple file types --- fixtures/different_extension.inc | 1 + tests/LanguageServerTest.php | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 fixtures/different_extension.inc diff --git a/fixtures/different_extension.inc b/fixtures/different_extension.inc new file mode 100644 index 0000000..b3d9bbc --- /dev/null +++ b/fixtures/different_extension.inc @@ -0,0 +1 @@ +assertTrue($filesCalled); $this->assertTrue($contentCalled); } + + public function testIndexingMultipleFileTypes() + { + $promise = new Promise; + $input = new MockProtocolStream; + $output = new MockProtocolStream; + $options = (object)[ + 'fileTypes' => [ + '.php', + '.inc' + ] + ]; + + $output->on('message', function (Message $msg) use ($promise, &$foundFiles) { + 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)); + } else if (strpos($msg->body->params->message, 'All 27 PHP files parsed') !== false) { + $promise->fulfill(); + } + } + }); + $server = new LanguageServer($input, $output); + $capabilities = new ClientCapabilities; + $server->initialize($capabilities, realpath(__DIR__ . '/../fixtures'), getmypid(), $options); + $promise->wait(); + } }