/** * Test get throws dependencies * * @test */ public function testGetDependencies() { $tokens = [0 => [T_THROW, 'throw'], 1 => [T_WHITESPACE, ' '], 2 => [T_NEW, 'new'], 3 => [T_WHITESPACE, ' '], 4 => [T_NS_SEPARATOR, '\\'], 5 => [T_STRING, 'Exception'], 6 => '(']; $this->tokens->expects($this->any())->method('getTokenCodeByKey')->will($this->returnCallback(function ($k) use($tokens) { return $tokens[$k][0]; })); $this->tokens->expects($this->any())->method('getTokenValueByKey')->will($this->returnCallback(function ($k) use($tokens) { return $tokens[$k][1]; })); $throws = new Throws($this->tokens); foreach ($tokens as $k => $token) { $throws->parse($token, $k); } $uses = $this->getMockBuilder('Magento\\TestFramework\\Integrity\\Library\\PhpParser\\Uses')->disableOriginalConstructor()->getMock(); $uses->expects($this->once())->method('hasUses')->will($this->returnValue(true)); $uses->expects($this->once())->method('getClassNameWithNamespace')->will($this->returnValue('\\Exception')); $this->assertEquals(['\\Exception'], $throws->getDependencies($uses)); }
/** * Test get static call dependencies * * @test */ public function testGetDependencies() { $tokens = array(0 => array(T_WHITESPACE, ' '), 1 => array(T_NS_SEPARATOR, '\\'), 2 => array(T_STRING, 'Object'), 3 => array(T_PAAMAYIM_NEKUDOTAYIM, '::')); $this->tokens->expects($this->any())->method('getPreviousToken')->will($this->returnCallback(function ($k) use($tokens) { return $tokens[$k - 1]; })); $this->tokens->expects($this->any())->method('getTokenCodeByKey')->will($this->returnCallback(function ($k) use($tokens) { return $tokens[$k][0]; })); $this->tokens->expects($this->any())->method('getTokenValueByKey')->will($this->returnCallback(function ($k) use($tokens) { return $tokens[$k][1]; })); $throws = new StaticCalls($this->tokens); foreach ($tokens as $k => $token) { $throws->parse($token, $k); } $uses = $this->getMockBuilder('Magento\\TestFramework\\Integrity\\Library\\PhpParser\\Uses')->disableOriginalConstructor()->getMock(); $uses->expects($this->once())->method('hasUses')->will($this->returnValue(true)); $uses->expects($this->once())->method('getClassNameWithNamespace')->will($this->returnValue('\\Object')); $this->assertEquals(array('\\Object'), $throws->getDependencies($uses)); }