/** * (non-PHPdoc) * * @see \Mergy\TextUI\OutputAbtract::_process() */ protected function _process() { $aTickets = array(); foreach ($this->_aRevisions as $oRevision) { if ($oRevision instanceof \Mergy\Revision) { $sTicket = (int) \Mergy\Action\Merge\Decision\Ticket::parseTicket($oRevision->sInfo); if (empty($aTickets[$sTicket]) === true) { $aTickets[$sTicket] = array(); } $aTickets[$sTicket][] = $oRevision; } } $aStack = array(); ksort($aTickets); foreach ($aTickets as $sTicket => $aRevisions) { $sTicket = $sTicket === 0 ? 'unspecified' : $sTicket; $aAuthors = $aRevisionNumbers = array(); foreach ($aRevisions as $oRevision) { $aRevisionNumbers[] = $oRevision->iRevision; $aAuthors[] = $oRevision->sAuthor; } $aAuthors = array_unique($aAuthors); sort($aRevisionNumbers); $aStack[] = array('title' => sprintf("Ticket: %s", $sTicket), 'ticket' => $sTicket, 'rev' => $aRevisionNumbers, 'author' => $aAuthors, 'comment' => ''); } $this->_sOutput = $this->_oFormatter->format($aStack); return $this; }
/** * (non-PHPdoc) * * @see \Mergy\TextUI\OutputAbtract::_process() */ protected function _process() { $aStack = array(); foreach ($this->_aRevisions as $oRevision) { if ($oRevision instanceof \Mergy\Revision) { $aStack[] = array('title' => $oRevision->__toString(), 'ticket' => (int) \Mergy\Action\Merge\Decision\Ticket::parseTicket($oRevision->sInfo), 'rev' => array($oRevision->iRevision), 'author' => array($oRevision->sAuthor), 'comment' => $oRevision->sInfo); } } $this->_sOutput = $this->_oFormatter->format($aStack); return $this; }
/** * Test ticket parsing * * @dataProvider parseTicketProvider */ public function testParseTicket($sInfo, $sExpected) { $this->assertEquals($sExpected, \Mergy\Action\Merge\Decision\Ticket::parseTicket($sInfo)); }