/** * */ public function testProgressWithCustomTemplates() { $output = m::mock('mako\\cli\\output\\Output'); $output->shouldReceive('write')->once()->with("\r00/10 ____________________ 0% "); $output->shouldReceive('write')->once()->with("\r01/10 ++__________________ 10% "); $output->shouldReceive('write')->once()->with("\r02/10 ++++________________ 20% "); $output->shouldReceive('write')->once()->with("\r03/10 ++++++______________ 30% "); $output->shouldReceive('write')->once()->with("\r04/10 ++++++++____________ 40% "); $output->shouldReceive('write')->once()->with("\r05/10 ++++++++++__________ 50% "); $output->shouldReceive('write')->once()->with("\r06/10 ++++++++++++________ 60% "); $output->shouldReceive('write')->once()->with("\r07/10 ++++++++++++++______ 70% "); $output->shouldReceive('write')->once()->with("\r08/10 ++++++++++++++++____ 80% "); $output->shouldReceive('write')->once()->with("\r09/10 ++++++++++++++++++__ 90% "); $output->shouldReceive('write')->once()->with("\r10/10 ++++++++++++++++++++ 100% "); $output->shouldReceive('write')->once()->with(PHP_EOL); $progressBar = new ProgressBar($output, 10); $progressBar->setEmptyTemplate('_'); $progressBar->setFilledTemplate('+'); $progressBar->draw(); for ($i = 0; $i < 10; $i++) { $progressBar->advance(); } }
/** * Draws a progress bar and returns a progress bar instance. * * @access protected * @param int $items Total number of items * @param int $redrawRate Redraw rate * @return \mako\cli\output\helpers\ProgessBar */ protected function progressBar($items, $redrawRate = null) { $progressBar = new ProgressBar($this->output, $items, $redrawRate); $progressBar->setEmptyTemplate('<red>-</red>'); $progressBar->setFilledTemplate('<green>=</green>'); $progressBar->draw(); return $progressBar; }