2011-11-27 21:43:27 +01:00
|
|
|
<?php
|
|
|
|
|
|
|
|
class PHPParser_Tests_NodeAbstractTest extends PHPUnit_Framework_TestCase
|
|
|
|
{
|
|
|
|
public function testConstruct() {
|
|
|
|
$node = $this->getMockForAbstractClass(
|
|
|
|
'PHPParser_NodeAbstract',
|
|
|
|
array(
|
|
|
|
array(
|
|
|
|
'subNode' => 'value'
|
|
|
|
),
|
|
|
|
10,
|
|
|
|
'/** doc comment */'
|
|
|
|
),
|
|
|
|
'PHPParser_Node_Dummy'
|
|
|
|
);
|
|
|
|
|
2011-12-02 17:52:03 +01:00
|
|
|
$this->assertEquals('Dummy', $node->getType());
|
|
|
|
$this->assertEquals(array('subNode'), $node->getSubNodeNames());
|
2011-11-27 21:43:27 +01:00
|
|
|
$this->assertEquals(10, $node->getLine());
|
|
|
|
$this->assertEquals('/** doc comment */', $node->getDocComment());
|
|
|
|
$this->assertEquals('value', $node->subNode);
|
|
|
|
$this->assertTrue(isset($node->subNode));
|
|
|
|
|
|
|
|
return $node;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @depends testConstruct
|
|
|
|
*/
|
|
|
|
public function testChange(PHPParser_Node $node) {
|
2011-12-02 17:52:03 +01:00
|
|
|
// change of line
|
2011-11-27 21:43:27 +01:00
|
|
|
$node->setLine(15);
|
|
|
|
$this->assertEquals(15, $node->getLine());
|
|
|
|
|
2011-12-02 17:52:03 +01:00
|
|
|
// change of doc comment
|
2011-11-27 21:43:27 +01:00
|
|
|
$node->setDocComment('/** other doc comment */');
|
|
|
|
$this->assertEquals('/** other doc comment */', $node->getDocComment());
|
|
|
|
|
2011-12-02 17:52:03 +01:00
|
|
|
// direct modification
|
2011-11-27 21:43:27 +01:00
|
|
|
$node->subNode = 'newValue';
|
|
|
|
$this->assertEquals('newValue', $node->subNode);
|
|
|
|
|
2011-12-02 17:52:03 +01:00
|
|
|
// indirect modification
|
|
|
|
$subNode =& $node->subNode;
|
|
|
|
$subNode = 'newNewValue';
|
|
|
|
$this->assertEquals('newNewValue', $node->subNode);
|
|
|
|
|
|
|
|
// removal
|
2011-11-27 21:43:27 +01:00
|
|
|
unset($node->subNode);
|
|
|
|
$this->assertFalse(isset($node->subNode));
|
|
|
|
}
|
|
|
|
}
|