getParser(); $value = '[b][s][i]foobar[/i][/s][/b]'; $output = ''; $tree = $parser->parse($value); // iterate trough the tree and check if we can generate the original value $iterator = new RecursiveIteratorIterator($tree, RecursiveIteratorIterator::SELF_FIRST); foreach ($iterator as $token) { $output .= $token->getTag(); if ($token->getStopper() != '') { $token->addChild(new Zend_Markup_Token( $token->getStopper(), Zend_Markup_Token::TYPE_NONE, '', array(), $token) ); } } $this->assertEquals($value, $output); } } // Call Zend_Markup_BbcodeTest::main() if this source file is executed directly. if (PHPUnit_MAIN_METHOD == "Zend_Markup_ParserIntegrityTest::main") { Zend_Markup_BbcodeTest::main(); }