2016-10-11 23:45:15 +00:00
|
|
|
<?php
|
2019-06-18 08:59:40 +00:00
|
|
|
declare(strict_types=1);
|
2016-10-11 23:45:15 +00:00
|
|
|
|
|
|
|
namespace LanguageServer\Tests\Server\TextDocument\References;
|
|
|
|
|
2019-06-18 08:59:40 +00:00
|
|
|
use Amp\Loop;
|
2018-09-09 12:37:35 +00:00
|
|
|
use LanguageServerProtocol\{TextDocumentIdentifier, Position, ReferenceContext, Location, Range};
|
2016-10-11 23:45:15 +00:00
|
|
|
use function LanguageServer\pathToUri;
|
|
|
|
|
2016-10-18 08:48:16 +00:00
|
|
|
class NamespacedTest extends GlobalTest
|
2016-10-11 23:45:15 +00:00
|
|
|
{
|
2016-10-18 08:48:16 +00:00
|
|
|
protected function getReferenceLocations(string $fqn): array
|
2016-10-11 23:45:15 +00:00
|
|
|
{
|
2016-10-18 08:48:16 +00:00
|
|
|
return parent::getReferenceLocations('TestNamespace\\' . $fqn);
|
2016-10-11 23:45:15 +00:00
|
|
|
}
|
|
|
|
|
2016-10-18 08:48:16 +00:00
|
|
|
protected function getDefinitionLocation(string $fqn): Location
|
2016-10-11 23:45:15 +00:00
|
|
|
{
|
2016-10-18 08:48:16 +00:00
|
|
|
return parent::getDefinitionLocation('TestNamespace\\' . $fqn);
|
2016-10-11 23:45:15 +00:00
|
|
|
}
|
2016-12-17 02:46:08 +00:00
|
|
|
|
|
|
|
public function testReferencesForNamespaces()
|
|
|
|
{
|
2019-06-18 08:59:40 +00:00
|
|
|
Loop::run(function () {
|
|
|
|
// namespace TestNamespace;
|
|
|
|
// Get references for TestNamespace
|
|
|
|
$definition = parent::getDefinitionLocation('TestNamespace');
|
|
|
|
$result = yield $this->textDocument->references(
|
|
|
|
new ReferenceContext,
|
|
|
|
new TextDocumentIdentifier($definition->uri),
|
|
|
|
$definition->range->end
|
|
|
|
);
|
|
|
|
$this->assertEquals(parent::getReferenceLocations('TestNamespace'), $result);
|
|
|
|
});
|
2016-12-17 02:46:08 +00:00
|
|
|
}
|
2016-10-11 23:45:15 +00:00
|
|
|
}
|