Beispiel #1
0
 /**
  * Lists the available steps definitions
  *
  * @param string $type
  * @param string $component
  * @param string $filter
  * @return string
  */
 public static function stepsdefinitions($type, $component, $filter)
 {
     // We don't require the test environment to be enabled to list the steps definitions
     // so test writers can more easily set up the environment.
     behat_command::check_behat_setup();
     // The loaded steps depends on the component specified.
     behat_config_manager::update_config_file($component, false);
     // The Moodle\BehatExtension\HelpPrinter\MoodleDefinitionsPrinter will parse this search format.
     if ($type) {
         $filter .= '&&' . $type;
     }
     if ($filter) {
         $filteroption = ' -d "' . $filter . '"';
     } else {
         $filteroption = ' -di';
     }
     // Get steps definitions from Behat.
     $options = ' --config="' . behat_config_manager::get_steps_list_config_filepath() . '" ' . $filteroption;
     list($steps, $code) = behat_command::run($options);
     if ($steps) {
         $stepshtml = implode('', $steps);
     }
     if (empty($stepshtml)) {
         $stepshtml = get_string('nostepsdefinitions', 'tool_behat');
     }
     return $stepshtml;
 }