/**
  * Filters feature according to the filter.
  *
  * @param FeatureNode $feature
  */
 public function filterFeature(FeatureNode $feature)
 {
     $scenarios = $feature->getScenarios();
     foreach ($scenarios as $i => $scenario) {
         if (!$this->isScenarioMatch($scenario)) {
             unset($scenarios[$i]);
         }
     }
     $feature->setScenarios($scenarios);
 }
示例#2
0
 /**
  * Filters feature according to the filter.
  *
  * @param FeatureNode $feature
  */
 public function filterFeature(FeatureNode $feature)
 {
     $scenarios = $feature->getScenarios();
     foreach ($scenarios as $i => $scenario) {
         if (!$this->isScenarioMatch($scenario)) {
             unset($scenarios[$i]);
             continue;
         }
         if ($scenario instanceof OutlineNode && $scenario->hasExamples()) {
             $lines = $scenario->getExamples()->getRowLines();
             $rows = $scenario->getExamples()->getNumeratedRows();
             if (current($lines) <= $this->filterLine && end($lines) >= $this->filterLine) {
                 $scenario->getExamples()->setRows(array());
                 $scenario->getExamples()->addRow($rows[$lines[0]], $lines[0]);
                 if ($lines[0] !== $this->filterLine) {
                     $scenario->getExamples()->addRow($rows[$this->filterLine], $this->filterLine);
                 }
             }
         }
     }
     $feature->setScenarios($scenarios);
 }
示例#3
0
 public function setScenarios(array $scenarios)
 {
     return $this->featureNode->setScenarios($scenarios);
 }