Пример #1
0
 public function testGetMethodsMultipleAnnotationsReturnsMethods()
 {
     $goodMethod = new ParsedFunction("/**\n              * @group group1\n              */", 'public', 'testFunction');
     $goodMethod2 = new ParsedFunction("/**\n              * @group group2\n              */", 'public', 'testFunction2');
     $badMethod = new ParsedFunction("/**\n              * @group group3\n              */", 'public', 'testFunction2');
     $annotatedClass = new ParsedClass('', 'MyTestClass', '', array($goodMethod, $goodMethod2, $badMethod));
     $methods = $annotatedClass->getMethods(array('group' => 'group1,group2'));
     $this->assertEquals(array($goodMethod, $goodMethod2), $methods);
 }
Пример #2
0
 /**
  * @param string $classContent
  * @return ParsedClass
  * @throws ParsingException
  */
 public function parseClass($classContent)
 {
     $parsedClass = new ParsedClass();
     $parsedClass->setNamespace($this->parseNamespace($classContent));
     $parsedClass->setClassName($this->parseClassName($classContent));
     $parsedClass->setInterface($this->isInterface($classContent));
     $parsedClass->setAbstract($this->isAbstract($classContent));
     if ($this->parseNamespace($classContent) === '') {
         $parsedClass->setNamespaceSeparator('');
     } else {
         $parsedClass->setNamespaceSeparator($this->parseNamespaceRaw($classContent) ? '\\' : '_');
     }
     return $parsedClass;
 }