/**
  * @param string $name
  * @param bool   $success
  *
  * @since Method available since Release 2.7.0
  */
 protected function onTest($name, $success = true)
 {
     if (!strlen($name)) {
         return;
     }
     $testStatus = $this->testStatuses[$name];
     if ($this->testStatuses[$name] == \PHPUnit_Runner_BaseTestRunner::STATUS_INCOMPLETE || $this->testStatuses[$name] == \PHPUnit_Runner_BaseTestRunner::STATUS_SKIPPED) {
         if (strlen($this->testStatusMessages[$name])) {
             $name = $name . ' (' . str_replace(array("\r", "\n"), '', $this->testStatusMessages[$name]) . ')';
         }
     }
     if ($this->terminal->shouldColor()) {
         switch ($testStatus) {
             case \PHPUnit_Runner_BaseTestRunner::STATUS_PASSED:
                 $name = Coloring::green($name);
                 break;
             case \PHPUnit_Runner_BaseTestRunner::STATUS_ERROR:
                 $name = Coloring::magenta($name);
                 break;
             case \PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE:
                 $name = Coloring::red($name);
                 break;
             case \PHPUnit_Runner_BaseTestRunner::STATUS_INCOMPLETE:
             case \PHPUnit_Runner_BaseTestRunner::STATUS_SKIPPED:
                 $name = Coloring::yellow($name);
                 break;
         }
     }
     parent::onTest($name, $success);
 }
 public function paintFooter($test_name)
 {
     ob_start();
     parent::paintFooter($test_name);
     $output = ob_get_contents();
     ob_end_clean();
     if ($this->terminal->shouldColor()) {
         if ($this->getFailCount() + $this->getExceptionCount() == 0) {
             echo Coloring::green($output);
         } else {
             echo Coloring::red($output);
         }
     } else {
         echo $output;
     }
     if ($this->runner->shouldNotify()) {
         if ($this->getFailCount() + $this->getExceptionCount() == 0) {
             $notificationResult = Notification::RESULT_PASSED;
         } else {
             $notificationResult = Notification::RESULT_FAILED;
         }
         $this->notification = new Notification($notificationResult, $output);
     }
 }
 /**
  * @since Method available since Release 2.16.0
  */
 protected function earlyConfigure()
 {
     $this->phpunitXMLConfiguration->handlePHPConfiguration();
     if ($this->phpunitXMLConfiguration->hasPHPUnitConfiguration('bootstrap')) {
         if ($this->phpunitXMLConfiguration->hasPHPUnitConfiguration('syntaxCheck')) {
             $this->handleBootstrap($this->phpunitXMLConfiguration->getPHPUnitConfiguration('bootstrap'), $this->phpunitXMLConfiguration->getPHPUnitConfiguration('syntaxCheck'));
         } else {
             $this->handleBootstrap($this->phpunitXMLConfiguration->getPHPUnitConfiguration('bootstrap'));
         }
     }
     if ($this->phpunitXMLConfiguration->hasPHPUnitConfiguration('colors')) {
         $this->terminal->setColor($this->phpunitXMLConfiguration->getPHPUnitConfiguration('colors'));
     }
     if ($this->phpunitXMLConfiguration->hasSeleniumBrowserConfiguration()) {
         \PHPUnit_Extensions_SeleniumTestCase::$browsers = $this->phpunitXMLConfiguration->getSeleniumBrowserConfiguration();
     }
 }
 /**
  * @param \PHPUnit_Util_Configuration $configuration $configuration
  * @since Method available since Release 2.16.0
  */
 protected function earlyConfigure(\PHPUnit_Util_Configuration $configuration)
 {
     $configuration->handlePHPConfiguration();
     $phpunitConfiguration = $configuration->getPHPUnitConfiguration();
     if (array_key_exists('bootstrap', $phpunitConfiguration)) {
         if (array_key_exists('syntaxCheck', $phpunitConfiguration)) {
             $this->handleBootstrap($phpunitConfiguration['bootstrap'], $phpunitConfiguration['syntaxCheck']);
         } else {
             $this->handleBootstrap($phpunitConfiguration['bootstrap']);
         }
     }
     if (array_key_exists('colors', $phpunitConfiguration)) {
         $this->terminal->setColor($phpunitConfiguration['colors']);
     }
     $seleniumBrowserConfiguration = $configuration->getSeleniumBrowserConfiguration();
     if (count($seleniumBrowserConfiguration) > 0) {
         \PHPUnit_Extensions_SeleniumTestCase::$browsers = $seleniumBrowserConfiguration;
     }
 }
 /**
  * @param string $command
  *
  * @return array
  */
 protected function buildOptions($command)
 {
     $options = array();
     if (basename(trim($command, '\'"')) != 'testrunner') {
         $configFile = $this->getPHPConfigDir();
         if ($configFile !== false) {
             $options[] = '-c';
             $options[] = escapeshellarg($configFile);
         }
         $options[] = escapeshellarg($_SERVER['argv'][0]);
     }
     if ($this->terminal->shouldColor()) {
         $options[] = '--ansi';
     }
     $options[] = escapeshellarg(strtolower($this->plugin->getPluginID()));
     if (!is_null($this->environment->getPreloadScript())) {
         $options[] = '-p ' . escapeshellarg($this->environment->getPreloadScript());
     }
     $options[] = '-R';
     if ($this->runner->shouldNotify()) {
         $options[] = '-m';
     }
     if ($this->runner->shouldStopOnFailure()) {
         $options[] = '--stop-on-failure';
     }
     if (!$this->testTargetRepository->isDefaultFilePattern()) {
         $options[] = '--test-file-pattern=' . escapeshellarg($this->testTargetRepository->getFilePattern());
     }
     if ($this->runner->hasDetailedProgress()) {
         $options[] = '--detailed-progress';
     }
     if (!is_null($this->commandLineOptionBuilder)) {
         $options = $this->commandLineOptionBuilder->build($options);
     }
     $this->testTargetRepository->walkOnResources(function ($resource, $index, TestTargetRepository $testTargetRepository) use(&$options) {
         $options[] = escapeshellarg($resource);
     });
     return $options;
 }
Esempio n. 6
0
 /**
  * @return array
  */
 protected function buildRunnerOptions()
 {
     $options = array();
     if (basename(trim($this->runnerCommand, '\'"')) != 'testrunner') {
         $configFile = $this->getPHPConfigDir();
         if ($configFile !== false) {
             $options[] = '-c';
             $options[] = escapeshellarg($configFile);
         }
         $options[] = escapeshellarg($_SERVER['argv'][0]);
     }
     if ($this->terminal->shouldColor()) {
         $options[] = '--ansi';
     }
     $options[] = escapeshellarg(strtolower(ApplicationContext::getInstance()->getPlugin()->getPluginID()));
     if (!is_null(ApplicationContext::getInstance()->getEnvironment()->getPreloadScript())) {
         $options[] = '-p ' . escapeshellarg(ApplicationContext::getInstance()->getEnvironment()->getPreloadScript());
     }
     $options[] = '-R';
     if ($this->runnerFactory->create()->shouldNotify()) {
         $options[] = '-m';
     }
     if ($this->runnerFactory->create()->shouldStopOnFailure()) {
         $options[] = '--stop-on-failure';
     }
     if (!$this->testTargetRepository->isDefaultFilePattern()) {
         $options[] = '--test-file-pattern=' . escapeshellarg($this->testTargetRepository->getFilePattern());
     }
     if ($this->runnerFactory->create()->hasDetailedProgress()) {
         $options[] = '--detailed-progress';
     }
     $options = array_merge($options, $this->doBuildRunnerOptions());
     $this->testTargetRepository->walkOnResources(function ($resource, $index, TestTargetRepository $testTargetRepository) use(&$options) {
         $options[] = escapeshellarg($resource);
     });
     return $options;
 }