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

45 lines
1.7 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\{
VersionedTextDocumentIdentifier,
TextDocumentContentChangeEvent,
Range,
Position
};
class DidChangeTest 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
$identifier = new VersionedTextDocumentIdentifier('whatever');
$changeEvent = new TextDocumentContentChangeEvent();
$changeEvent->range = new Range(new Position(0, 0), new Position(9999, 9999));
$changeEvent->rangeLength = 9999;
$changeEvent->text = "<?php\necho 'Goodbye, World'\n";
2019-06-18 08:59:40 +00:00
yield $textDocument->didChange($identifier, [$changeEvent]);
2019-06-18 08:59:40 +00:00
$this->assertEquals("<?php\necho 'Goodbye, World'\n", $phpDocument->getContent());
});
}
}