Esempio n. 1
0
 /**
  * @param ResultAggregator $results
  * @param ExerciseInterface $exercise
  * @param UserState $userState
  * @param OutputInterface $output
  */
 public function render(ResultAggregator $results, ExerciseInterface $exercise, UserState $userState, OutputInterface $output)
 {
     $successes = [];
     $failures = [];
     foreach ($results as $result) {
         if ($result instanceof SuccessInterface || $result instanceof ResultAggregator && $result->isSuccessful()) {
             $successes[] = sprintf(' ✔ Check: %s', $result->getCheckName());
         } else {
             $failures[] = [$result, sprintf(' ✗ Check: %s', $result->getCheckName())];
         }
     }
     $longest = max(array_map('strlen', array_merge($successes, array_column($failures, 1)))) + 2;
     $output->writeLines($this->padArray($this->styleArray($successes, ['green', 'bg_black', 'bold']), $longest));
     if ($results->isSuccessful()) {
         return $this->renderSuccessInformation($exercise, $userState, $output);
     }
     $this->renderErrorInformation($failures, $longest, $exercise, $output);
 }