X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=vendor%2Fbehat%2Fgherkin%2Fsrc%2FBehat%2FGherkin%2FFilter%2FLineFilter.php;fp=vendor%2Fbehat%2Fgherkin%2Fsrc%2FBehat%2FGherkin%2FFilter%2FLineFilter.php;h=0000000000000000000000000000000000000000;hp=455e9ac357975baaf7457e4cd6f3774b364844e1;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0 diff --git a/vendor/behat/gherkin/src/Behat/Gherkin/Filter/LineFilter.php b/vendor/behat/gherkin/src/Behat/Gherkin/Filter/LineFilter.php deleted file mode 100644 index 455e9ac35..000000000 --- a/vendor/behat/gherkin/src/Behat/Gherkin/Filter/LineFilter.php +++ /dev/null @@ -1,122 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Behat\Gherkin\Filter; - -use Behat\Gherkin\Node\ExampleTableNode; -use Behat\Gherkin\Node\FeatureNode; -use Behat\Gherkin\Node\OutlineNode; -use Behat\Gherkin\Node\ScenarioInterface; - -/** - * Filters scenarios by definition line number. - * - * @author Konstantin Kudryashov - */ -class LineFilter implements FilterInterface -{ - protected $filterLine; - - /** - * Initializes filter. - * - * @param string $filterLine Line of the scenario to filter on - */ - public function __construct($filterLine) - { - $this->filterLine = intval($filterLine); - } - - /** - * Checks if Feature matches specified filter. - * - * @param FeatureNode $feature Feature instance - * - * @return Boolean - */ - public function isFeatureMatch(FeatureNode $feature) - { - return $this->filterLine === $feature->getLine(); - } - - /** - * 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; - } - - /** - * Filters feature according to the filter and returns new one. - * - * @param FeatureNode $feature - * - * @return FeatureNode - */ - public function filterFeature(FeatureNode $feature) - { - $scenarios = array(); - foreach ($feature->getScenarios() as $scenario) { - if (!$this->isScenarioMatch($scenario)) { - continue; - } - - if ($scenario instanceof OutlineNode && $scenario->hasExamples()) { - $table = $scenario->getExampleTable()->getTable(); - $lines = array_keys($table); - - if (in_array($this->filterLine, $lines)) { - $filteredTable = array($lines[0] => $table[$lines[0]]); - - if ($lines[0] !== $this->filterLine) { - $filteredTable[$this->filterLine] = $table[$this->filterLine]; - } - - $scenario = new OutlineNode( - $scenario->getTitle(), - $scenario->getTags(), - $scenario->getSteps(), - new ExampleTableNode($filteredTable, $scenario->getExampleTable()->getKeyword()), - $scenario->getKeyword(), - $scenario->getLine() - ); - } - } - - $scenarios[] = $scenario; - } - - return new FeatureNode( - $feature->getTitle(), - $feature->getDescription(), - $feature->getTags(), - $feature->getBackground(), - $scenarios, - $feature->getKeyword(), - $feature->getLanguage(), - $feature->getFile(), - $feature->getLine() - ); - } -}