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

35 lines
1.5 KiB
PHP
Raw Normal View History

<?php
2018-11-27 16:51:40 +00:00
declare(strict_types=1);
namespace LanguageServer\Tests\Server\TextDocument;
use PHPUnit\Framework\TestCase;
use LanguageServer\Tests\MockProtocolStream;
2018-11-27 16:51:40 +00:00
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};
2018-11-27 16:51:40 +00:00
use LanguageServerProtocol\{VersionedTextDocumentIdentifier, TextDocumentContentChangeEvent, Range, Position};
class DidChangeTest extends TestCase
{
public function test()
{
2018-11-27 16:51:40 +00:00
$projectIndex = new ProjectIndex(new Index(), new DependenciesIndex());
$client = new LanguageClient(new MockProtocolStream(), new MockProtocolStream());
2016-12-13 00:51:02 +00:00
$definitionResolver = new DefinitionResolver($projectIndex);
2018-11-27 16:51:40 +00:00
$loader = new PhpDocumentLoader(new FileSystemContentRetriever(), $projectIndex, $definitionResolver);
2016-12-13 00:51:02 +00:00
$textDocument = new Server\TextDocument($loader, $definitionResolver, $client, $projectIndex);
$phpDocument = $loader->open('whatever', "<?php\necho 'Hello, World'\n");
$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";
$textDocument->didChange($identifier, [$changeEvent]);
$this->assertEquals("<?php\necho 'Goodbye, World'\n", $phpDocument->getContent());
}
}