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); }
/** * @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; }