public function testNSHelpers() { $doc = RootNode::create('Pharborist'); $this->assertTrue($doc->hasNamespace('Pharborist')); $this->assertFalse($doc->hasNamespace('\\Drupal')); $this->assertContains('Pharborist', $doc->getNamespaceNames()); $this->assertContains('\\Pharborist', $doc->getNamespaceNames(TRUE)); $namespaces = $doc->getNamespaces(); $this->assertInstanceOf('\\Pharborist\\NodeCollection', $namespaces); $this->assertCount(1, $namespaces); $this->assertNull($doc->getNamespace('Drupal')); $ns = $doc->getNamespace('Pharborist'); $this->assertInstanceOf('\\Pharborist\\Namespaces\\NamespaceNode', $ns); $this->assertSame($ns, $namespaces[0]); $code = <<<'END' <?php namespace RoundTable\ Knights\ MontyPython; class Foo {} END; $doc = Parser::parseSource($code); $this->assertTrue($doc->hasNamespace('RoundTable\\Knights\\MontyPython')); $this->assertContains('\\RoundTable\\Knights\\MontyPython', $doc->getNamespaceNames(TRUE)); }
protected function formatSource($source) { /** @var ParentNode $node */ $node = Parser::parseSource($source); $formatter = FormatterFactory::getDrupalFormatter(); $formatter->format($node); return $node->getText(); }
public function testRootNode() { $snippet = <<<'END' <?php namespace Foo\Baz; class Blorg { public function __construct() {}} END; $expected = <<<'END' <?php namespace Foo\Baz; class Blorg { public function __construct() { } } END; $doc = Parser::parseSource($snippet); $this->formatter->format($doc); $this->assertEquals($expected, $doc->getText()); }
public function testIsClassMethodCall() { $source = <<<'END' <?php use MyNamespace\Test; A::test(); MyNamespace\Test::method(); Test::method(); END; /** @var \Pharborist\Objects\ClassMethodCallNode[] $method_calls */ $method_calls = Parser::parseSource($source)->find(Filter::isClassMethodCall('\\A', 'test')); $this->assertCount(1, $method_calls); $method_call = $method_calls[0]; $this->assertInstanceOf('\\Pharborist\\Objects\\ClassMethodCallNode', $method_call); $this->assertEquals('\\A', $method_call->getClassName()->getAbsolutePath()); $this->assertEquals('test', $method_call->getMethodName()->getText()); $method_calls = Parser::parseSource($source)->find(Filter::isClassMethodCall('\\MyNamespace\\Test', 'method')); $this->assertCount(2, $method_calls); $method_call = $method_calls[0]; $this->assertInstanceOf('\\Pharborist\\Objects\\ClassMethodCallNode', $method_call); $this->assertEquals('\\MyNamespace\\Test', $method_call->getClassName()->getAbsolutePath()); $this->assertEquals('method', $method_call->getMethodName()->getText()); }