1
0
Fork 0
php-language-server/tests/Server/TextDocument/DidCloseTest.php

41 lines
1.6 KiB
PHP
Raw Normal View History

<?php
2019-06-18 08:59:40 +00:00
declare(strict_types=1);
namespace LanguageServer\Tests\Server\TextDocument;
2019-06-18 08:59:40 +00:00
use Amp\Loop;
use PHPUnit\Framework\TestCase;
use LanguageServer\Tests\MockProtocolStream;
use LanguageServer\{
Server, LanguageClient, PhpDocumentLoader, DefinitionResolver
};
2016-12-08 01:33:48 +00:00
use LanguageServer\ContentRetriever\FileSystemContentRetriever;
2016-12-13 00:51:02 +00:00
use LanguageServer\Index\{Index, ProjectIndex, DependenciesIndex};
use LanguageServerProtocol\{TextDocumentItem, TextDocumentIdentifier};
class DidCloseTest extends TestCase
{
public function test()
{
2019-06-18 08:59:40 +00:00
Loop::run(function () {
$projectIndex = new ProjectIndex(new Index, new DependenciesIndex);
$client = new LanguageClient(new MockProtocolStream, new MockProtocolStream);
$definitionResolver = new DefinitionResolver($projectIndex);
$loader = new PhpDocumentLoader(new FileSystemContentRetriever, $projectIndex, $definitionResolver);
$textDocument = new Server\TextDocument($loader, $definitionResolver, $client, $projectIndex);
$phpDocument = $loader->open('whatever', "<?php\necho 'Hello, World'\n");
2019-06-18 08:59:40 +00:00
$textDocumentItem = new TextDocumentItem();
$textDocumentItem->uri = 'whatever';
$textDocumentItem->languageId = 'php';
$textDocumentItem->version = 1;
$textDocumentItem->text = 'hello world';
$textDocument->didOpen($textDocumentItem);
2019-06-18 08:59:40 +00:00
$textDocument->didClose(new TextDocumentIdentifier($textDocumentItem->uri));
2019-06-18 08:59:40 +00:00
$this->assertFalse($loader->isOpen($textDocumentItem->uri));
});
}
}