public function testTagParsing()
{
$info = Inspector::info(__METHOD__ . '()');
$result = Docblock::comment($info['comment']);
$this->assertEqual('This is a short description.', $result['description']);
$expected = "This is a longer description...\nThat contains\nmultiple lines";
$this->assertEqual($expected, $result['text']);
$tags = $result['tags'];
$expected = array('deprecated', 'important', 'discuss', 'link', 'see', 'return');
$this->assertEqual($expected, array_keys($tags));
$result = "This is a tag that\n spans\n several\n lines.";
$this->assertEqual($result, $tags['discuss'][0]);
$this->assertEqual("The second discussion item", $tags['discuss'][1]);
$this->assertEqual('void This tag contains a [email protected].', $tags['return']);
$this->assertEqual(array(), Docblock::tags(null));
$this->assertEqual(array('params' => array()), Docblock::tags("Foobar\n\n@param string"));
}