public function testDataFromClosureLocationGetsUsed() { $location = new ClosureLocation(); $location->class = '[class]'; $location->directory = '[directory]'; $location->file = '[file]'; $location->function = '[function]'; $location->line = '[line]'; $location->method = '[method]'; $location->namespace = '[namespace]'; $location->trait = '[trait]'; $nodes = array('PHPParser_Node_Scalar_LineConst' => 'PHPParser_Node_Scalar_LNumber', 'PHPParser_Node_Scalar_FileConst' => 'PHPParser_Node_Scalar_String', 'PHPParser_Node_Scalar_DirConst' => 'PHPParser_Node_Scalar_String', 'PHPParser_Node_Scalar_FuncConst' => 'PHPParser_Node_Scalar_String', 'PHPParser_Node_Scalar_NSConst' => 'PHPParser_Node_Scalar_String', 'PHPParser_Node_Scalar_ClassConst' => 'PHPParser_Node_Scalar_String', 'PHPParser_Node_Scalar_MethodConst' => 'PHPParser_Node_Scalar_String', 'PHPParser_Node_Scalar_TraitConst' => 'PHPParser_Node_Scalar_String', 'PHPParser_Node_Scalar_String' => 'PHPParser_Node_Scalar_String'); $visitor = new MagicConstantVisitor($location); foreach ($nodes as $originalNodeName => $resultNodeName) { $mockNode = $this->getMockBuilder($originalNodeName)->disableOriginalConstructor()->setMethods(array('getType', 'getAttribute'))->getMock(); $mockNode->expects($this->any())->method('getAttribute')->will($this->returnValue(1)); $mockNode->expects($this->any())->method('getType')->will($this->returnValue(substr($originalNodeName, 15))); $resultNode = $visitor->leaveNode($mockNode) ?: $mockNode; $this->assertInstanceOf($resultNodeName, $resultNode); } }
public function testDataFromClosureLocationGetsUsed() { $location = new ClosureLocation(); $location->class = '[class]'; $location->directory = '[directory]'; $location->file = '[file]'; $location->function = '[function]'; $location->line = '[line]'; $location->method = '[method]'; $location->namespace = '[namespace]'; $location->trait = '[trait]'; $nodes = array('PhpParser\\Node\\Scalar\\MagicConst\\Line' => 'PhpParser\\Node\\Scalar\\LNumber', 'PhpParser\\Node\\Scalar\\MagicConst\\File' => 'PhpParser\\Node\\Scalar\\String', 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => 'PhpParser\\Node\\Scalar\\String', 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => 'PhpParser\\Node\\Scalar\\String', 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => 'PhpParser\\Node\\Scalar\\String', 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => 'PhpParser\\Node\\Scalar\\String', 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => 'PhpParser\\Node\\Scalar\\String', 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => 'PhpParser\\Node\\Scalar\\String', 'PhpParser\\Node\\Scalar\\String' => 'PhpParser\\Node\\Scalar\\String'); $visitor = new MagicConstantVisitor($location); foreach ($nodes as $originalNodeName => $resultNodeName) { $mockNode = $this->getMockBuilder($originalNodeName)->disableOriginalConstructor()->setMethods(array('getType', 'getAttribute'))->getMock(); $mockNode->expects($this->any())->method('getAttribute')->will($this->returnValue(1)); $mockNode->expects($this->any())->method('getType')->will($this->returnValue($this->constFromOriginalNodeName($originalNodeName))); $resultNode = $visitor->leaveNode($mockNode) ?: $mockNode; $this->assertInstanceOf($resultNodeName, $resultNode); } }