parseSourceFile("getUri()); $index = new Index; $definitionResolver = new DefinitionResolver($index); $def = $definitionResolver->createDefinitionFromNode($sourceFileNode->statementList[1]->expression, '\TEST_DEFINE'); $this->assertInstanceOf(\phpDocumentor\Reflection\Types\Boolean::class, $def->type); } public function testGetTypeFromNode() { $parser = new PhpParser\Parser; $doc = new MockPhpDocument; $sourceFileNode = $parser->parseSourceFile("getUri()); $index = new Index; $definitionResolver = new DefinitionResolver($index); $type = $definitionResolver->getTypeFromNode($sourceFileNode->statementList[1]->expression); $this->assertInstanceOf(\phpDocumentor\Reflection\Types\Boolean::class, $type); } public function testGetDefinedFqnForIncompleteDefine() { // define('XXX') (only one argument) must not introduce a new symbol $parser = new PhpParser\Parser; $doc = new MockPhpDocument; $sourceFileNode = $parser->parseSourceFile("getUri()); $index = new Index; $definitionResolver = new DefinitionResolver($index); $fqn = $definitionResolver->getDefinedFqn($sourceFileNode->statementList[1]->expression); $this->assertNull($fqn); } public function testGetDefinedFqnForDefine() { $parser = new PhpParser\Parser; $doc = new MockPhpDocument; $sourceFileNode = $parser->parseSourceFile("getUri()); $index = new Index; $definitionResolver = new DefinitionResolver($index); $fqn = $definitionResolver->getDefinedFqn($sourceFileNode->statementList[1]->expression); $this->assertEquals('TEST_DEFINE', $fqn); } }