Esempio n. 1
0
 * @license http://ez.no/licenses/new_bsd New BSD License
 */
require_once 'Base/src/base.php';
/**
 * Autoload ezc classes 
 * 
 * @param string $className 
 */
function __autoload($className)
{
    ezcBase::autoload($className);
}
$out = new ezcConsoleOutput();
// Create status bar itself
$status = new ezcConsoleStatusbar($out);
// Perform actions
$i = 0;
while ($i++ < 20) {
    // Do whatever you want to indicate progress for
    usleep(mt_rand(20000, 2000000));
    // Indicate success or failure
    $status->add((bool) mt_rand(0, 1));
}
$out->outputLine();
// Print statistics
$out->outputLine($status->getSuccessCount() . ' operations succeeded, ' . $status->getFailureCount() . ' failed.');
/*
OUTPUT:
+-++++-++++-++-+--+-
13 operations succeeded, 7 failed.
*/
 public function testGetFailureCount()
 {
     $out = new ezcConsoleOutput();
     $status = new ezcConsoleStatusbar($out);
     $this->assertEquals(0, $status->getFailureCount());
     ob_start();
     foreach ($this->stati as $statusVal) {
         $status->add($statusVal);
     }
     ob_end_clean();
     $this->assertEquals(11, $status->getFailureCount());
 }
<?php

require_once 'tutorial_autoload.php';
$output = new ezcConsoleOutput();
$output->formats->success->color = 'green';
$output->formats->failure->color = 'red';
$options = array('successChar' => $output->formatText('+', 'success'), 'failureChar' => $output->formatText('-', 'failure'));
$status = new ezcConsoleStatusbar($output, $options);
for ($i = 0; $i < 120; $i++) {
    $nextStatus = (bool) mt_rand(0, 1);
    $status->add($nextStatus);
    usleep(mt_rand(200, 2000));
}
$output->outputLine();
$output->outputLine('Successes: ' . $status->getSuccessCount() . ', Failures: ' . $status->getFailureCount());