| 
									
										
										
										
											2016-10-11 23:45:15 +00:00
										 |  |  | <?php | 
					
						
							|  |  |  | declare(strict_types = 1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace LanguageServer\Tests\Server\TextDocument\References; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-17 02:46:08 +00:00
										 |  |  | use LanguageServer\Protocol\{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() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         // namespace TestNamespace;
 | 
					
						
							|  |  |  |         // Get references for TestNamespace
 | 
					
						
							|  |  |  |         $definition = parent::getDefinitionLocation('TestNamespace'); | 
					
						
							|  |  |  |         $result = $this->textDocument->references( | 
					
						
							|  |  |  |             new ReferenceContext, | 
					
						
							|  |  |  |             new TextDocumentIdentifier($definition->uri), | 
					
						
							|  |  |  |             $definition->range->end | 
					
						
							|  |  |  |         )->wait(); | 
					
						
							|  |  |  |         $this->assertEquals(parent::getReferenceLocations('TestNamespace'), $result); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2016-10-11 23:45:15 +00:00
										 |  |  | } |