function it_outputs_progress_as_33_when_3_of_3_examples_have_run_and_one_passed(ExampleEvent $event, ConsoleIO $io, StatisticsCollector $stats) { $stats->getEventsCount()->willReturn(3); $stats->getCountsHash()->willReturn(array('passed' => 1, 'pending' => 0, 'skipped' => 0, 'failed' => 2, 'broken' => 0)); $stats->getTotalSpecs()->willReturn(3); $stats->getTotalSpecsCount()->willReturn(3); $this->afterExample($event); $expected = '/ skipped: 0% / pending: 0% / passed: 33% / failed: 66% / broken: 0% / 3 examples'; $io->writeTemp($expected)->shouldHaveBeenCalled(); }
/** * @param ConsoleIO $io * @param array $progress * @param int $total */ private function updateProgressBar(ConsoleIO $io, array $progress, $total) { if ($io->isDecorated()) { $progressBar = implode('', $progress); $pad = $this->getIO()->getBlockWidth() - strlen(strip_tags($progressBar)); $io->writeTemp($progressBar . str_repeat(' ', $pad + 1) . $total); } else { $io->writeTemp('/' . implode('/', $progress) . '/ ' . $total . ' examples'); } }