Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 50 |
ConsoleMessageFormatter | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
90 | |
0.00% |
0 / 50 |
format(IReport $report) | |
0.00% |
0 / 1 |
90 | |
0.00% |
0 / 50 |
<?php | |
namespace Environaut\Export\Formatter; | |
use Environaut\Report\IReport; | |
use Environaut\Report\Results\Messages\Message; | |
use Environaut\Export\Formatter\BaseFormatter; | |
/** | |
* Simple formatter that takes messages from the results | |
* of the given report and enhances them according to their | |
* severity etc. | |
*/ | |
class ConsoleMessageFormatter extends BaseFormatter | |
{ | |
/** | |
* Default sprintf compatible format for messages. May be changed via parameters. | |
*/ | |
const DEFAULT_FORMAT = '[%1$s] [%2$s] %3$s'; | |
/** | |
* Returns a formatted string consisting of all | |
* messages from the results of the given report. | |
* | |
* @param IReport $report report to take results (and messages) from | |
* | |
* @return string messages formatted with the configured format | |
*/ | |
public function format(IReport $report) | |
{ | |
$output = ''; | |
$format = $this->getParameters()->get('format', self::DEFAULT_FORMAT); | |
$results = $report->getResults(); | |
foreach ($results as $result) { | |
$messages = $result->getMessages(); | |
foreach ($messages as $message) { | |
switch($message->getSeverity()) { | |
case Message::SEVERITY_FATAL: | |
case Message::SEVERITY_ERROR: | |
$output .= sprintf( | |
$format, | |
$message->getGroup(), | |
$message->getName(), | |
'<error>' . $message->getText() . '</error>' | |
); | |
break; | |
case Message::SEVERITY_NOTICE: | |
case Message::SEVERITY_WARN: | |
$output .= sprintf( | |
$format, | |
$message->getGroup(), | |
$message->getName(), | |
'<comment>' . $message->getText() . '</comment>' | |
); | |
break; | |
case Message::SEVERITY_INFO: | |
$output .= sprintf( | |
$format, | |
$message->getGroup(), | |
$message->getName(), | |
'<info>' . $message->getText() . '</info>' | |
); | |
break; | |
case Message::SEVERITY_DEBUG: | |
default: | |
$output .= sprintf( | |
$format, | |
$message->getGroup(), | |
$message->getName(), | |
$message->getText() | |
); | |
break; | |
} | |
$output .= PHP_EOL; | |
} | |
} | |
return $output; | |
} | |
} |