| 
									
										
										
										
											2016-10-11 12:42:56 +00:00
										 |  |  | <?php | 
					
						
							|  |  |  | declare(strict_types = 1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace LanguageServer\Tests\Server\TextDocument; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | use PHPUnit\Framework\TestCase; | 
					
						
							|  |  |  | use LanguageServer\Tests\MockProtocolStream; | 
					
						
							| 
									
										
										
										
											2017-06-09 18:25:30 +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}; | 
					
						
							| 
									
										
										
										
											2017-06-09 18:25:30 +00:00
										 |  |  | use LanguageServer\Protocol\{TextDocumentItem, TextDocumentIdentifier}; | 
					
						
							| 
									
										
										
										
											2016-10-11 12:42:56 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | class DidCloseTest extends TestCase | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     public function test() | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2016-12-13 00:51:02 +00:00
										 |  |  |         $projectIndex = new ProjectIndex(new Index, new DependenciesIndex); | 
					
						
							| 
									
										
										
										
											2016-10-31 10:47:21 +00:00
										 |  |  |         $client = new LanguageClient(new MockProtocolStream, new MockProtocolStream); | 
					
						
							| 
									
										
										
										
											2016-12-13 00:51:02 +00:00
										 |  |  |         $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"); | 
					
						
							| 
									
										
										
										
											2016-10-11 12:42:56 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |         $textDocumentItem = new TextDocumentItem(); | 
					
						
							|  |  |  |         $textDocumentItem->uri = 'whatever'; | 
					
						
							|  |  |  |         $textDocumentItem->languageId = 'php'; | 
					
						
							|  |  |  |         $textDocumentItem->version = 1; | 
					
						
							|  |  |  |         $textDocumentItem->text = 'hello world'; | 
					
						
							|  |  |  |         $textDocument->didOpen($textDocumentItem); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $textDocument->didClose(new TextDocumentIdentifier($textDocumentItem->uri)); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-13 00:51:02 +00:00
										 |  |  |         $this->assertFalse($loader->isOpen($textDocumentItem->uri)); | 
					
						
							| 
									
										
										
										
											2016-10-11 12:42:56 +00:00
										 |  |  |     } | 
					
						
							|  |  |  | } |