예제 #1
0
 /**
  * Checks if scenario or outline matches specified filter.
  *
  * @param ScenarioInterface $scenario Scenario or Outline node instance
  *
  * @return Boolean
  */
 public function isScenarioMatch(ScenarioInterface $scenario)
 {
     if ($this->filterLine === $scenario->getLine()) {
         return true;
     }
     if ($scenario instanceof OutlineNode && $scenario->hasExamples()) {
         return $this->filterLine === $scenario->getLine() || in_array($this->filterLine, $scenario->getExampleTable()->getLines());
     }
     return false;
 }
예제 #2
0
 /**
  * Checks if scenario or outline matches specified filter.
  *
  * @param ScenarioInterface $scenario Scenario or Outline node instance
  *
  * @return Boolean
  */
 public function isScenarioMatch(ScenarioInterface $scenario)
 {
     if ($this->filterMinLine <= $scenario->getLine() && $this->filterMaxLine >= $scenario->getLine()) {
         return true;
     }
     if ($scenario instanceof OutlineNode && $scenario->hasExamples()) {
         foreach ($scenario->getExampleTable()->getLines() as $line) {
             if ($this->filterMinLine <= $line && $this->filterMaxLine >= $line) {
                 return true;
             }
         }
     }
     return false;
 }
 /**
  * @param  FeatureNode  $featureNode
  * @param  ScenarioInterface $scenarioNode
  *
  * @return string
  */
 public function generateFileName(FeatureNode $featureNode, ScenarioInterface $scenarioNode)
 {
     $feature = $this->relativizePaths($featureNode->getFile());
     $line = $scenarioNode->getLine();
     $fileName = join('_', [$feature, $line]);
     return preg_replace('/[^A-Za-z0-9\\-]/', '_', mb_strtolower($fileName)) . '.png';
 }
예제 #4
0
 /**
  * update scenario results based on step tests results
  * @param  FeatureNode       $feature    object
  * @param  ScenarioInterface $scenario   object
  * @param  TestResult        $testResult object
  * @return null
  */
 public function updateScenarioStatus(FeatureNode $feature, ScenarioInterface $scenario, TestResult $testResult)
 {
     $featurePath = $feature->getFile();
     $scenarioLine = $scenario->getLine();
     $resultCode = $testResult->getResultCode();
     if ($resultCode > $this->testResults[$featurePath]["scenarios"][$scenarioLine]["testResultCode"]) {
         $this->testResults[$featurePath]["scenarios"][$scenarioLine]["testResultCode"] = $resultCode;
         $this->testResults[$featurePath]["scenarios"][$scenarioLine]["testResult"] = self::RESULT_CODES_MAPPING[$resultCode];
     }
 }
 function it_should_return_a_nice_filename(FeatureNode $featureNode, ScenarioInterface $scenarioNode)
 {
     $featureNode->getFile()->willReturn('base-path/example.feature');
     $scenarioNode->getLine()->willReturn(42);
     $this->generateFileName($featureNode, $scenarioNode)->shouldReturn('example_feature_42.png');
 }