setComplete(); $client = new LanguageClient(new MockProtocolStream, new MockProtocolStream); $definitionResolver = new DefinitionResolver($projectIndex); $contentRetriever = new FileSystemContentRetriever; $loader = new PhpDocumentLoader($contentRetriever, $projectIndex, $definitionResolver); $this->textDocument = new Server\TextDocument($loader, $definitionResolver, $client, $projectIndex); $loader->open('global_fallback', file_get_contents(__DIR__ . '/../../../../fixtures/global_fallback.php')); $loader->open('global_symbols', file_get_contents(__DIR__ . '/../../../../fixtures/global_symbols.php')); } public function testClassDoesNotFallback() { Loop::run(function () { // $obj = new TestClass(); // Get definition for TestClass should not fall back to global $result = yield $this->textDocument->definition( new TextDocumentIdentifier('global_fallback'), new Position(9, 16) ); $this->assertEquals([], $result); }); } public function testFallsBackForConstants() { Loop::run(function () { // echo TEST_CONST; // Get definition for TEST_CONST $result = yield $this->textDocument->definition( new TextDocumentIdentifier('global_fallback'), new Position(6, 10) ); $this->assertEquals(new Location('global_symbols', new Range(new Position(9, 6), new Position(9, 22))), $result); }); } public function testFallsBackForFunctions() { Loop::run(function () { // test_function(); // Get definition for test_function $result = yield $this->textDocument->definition( new TextDocumentIdentifier('global_fallback'), new Position(5, 6) ); $this->assertEquals(new Location('global_symbols', new Range(new Position(78, 0), new Position(81, 1))), $result); }); } }