From 5d2ab8f3695af1559888c68ae0be498e35c63bf1 Mon Sep 17 00:00:00 2001 From: Cameron Eagans Date: Wed, 15 Feb 2017 08:25:06 -0800 Subject: [PATCH] Add test for #211 (#270) --- fixtures/completion/bare_php.php | 5 +++ tests/LanguageServerTest.php | 4 +-- tests/Server/TextDocument/CompletionTest.php | 32 ++++++++++++++++++++ 3 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 fixtures/completion/bare_php.php diff --git a/fixtures/completion/bare_php.php b/fixtures/completion/bare_php.php new file mode 100644 index 0000000..36b5ad9 --- /dev/null +++ b/fixtures/completion/bare_php.php @@ -0,0 +1,5 @@ +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 25 PHP files parsed') !== false) { + } else if (strpos($msg->body->params->message, 'All 26 PHP files parsed') !== false) { $promise->fulfill(); } } @@ -103,7 +103,7 @@ class LanguageServerTest extends TestCase if ($promise->state === Promise::PENDING) { $promise->reject(new Exception($msg->body->params->message)); } - } else if (strpos($msg->body->params->message, 'All 25 PHP files parsed') !== false) { + } else if (strpos($msg->body->params->message, 'All 26 PHP files parsed') !== false) { $promise->fulfill(); } } diff --git a/tests/Server/TextDocument/CompletionTest.php b/tests/Server/TextDocument/CompletionTest.php index 15349ed..dd9e680 100644 --- a/tests/Server/TextDocument/CompletionTest.php +++ b/tests/Server/TextDocument/CompletionTest.php @@ -433,4 +433,36 @@ class CompletionTest extends TestCase ) ], true), $items); } + + public function testBarePhp() + { + $completionUri = pathToUri(__DIR__ . '/../../../fixtures/completion/bare_php.php'); + $this->loader->open($completionUri, file_get_contents($completionUri)); + $items = $this->textDocument->completion( + new TextDocumentIdentifier($completionUri), + new Position(4, 8) + )->wait(); + $this->assertEquals(new CompletionList([ + new CompletionItem( + '$abc2', + CompletionItemKind::VARIABLE, + 'int', + null, + null, + null, + null, + new TextEdit(new Range(new Position(4, 8), new Position(4, 8)), 'c2') + ), + new CompletionItem( + '$abc', + CompletionItemKind::VARIABLE, + 'int', + null, + null, + null, + null, + new TextEdit(new Range(new Position(4, 8), new Position(4, 8)), 'c') + ) + ], true), $items); + } }