|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /domains/irtiweb/CATS/vendor/behat/gherkin/tests/Behat/Gherkin/Filter/ |
Upload File : |
<?php
namespace Tests\Behat\Gherkin\Filter;
use Behat\Gherkin\Filter\LineFilter;
use Behat\Gherkin\Node\ExampleTableNode;
use Behat\Gherkin\Node\FeatureNode;
use Behat\Gherkin\Node\OutlineNode;
use Behat\Gherkin\Node\ScenarioNode;
class LineFilterTest extends FilterTest
{
public function testIsFeatureMatchFilter()
{
$feature = new FeatureNode(null, null, array(), null, array(), null, null, null, 1);
$filter = new LineFilter(1);
$this->assertTrue($filter->isFeatureMatch($feature));
$filter = new LineFilter(2);
$this->assertFalse($filter->isFeatureMatch($feature));
$filter = new LineFilter(3);
$this->assertFalse($filter->isFeatureMatch($feature));
}
public function testIsScenarioMatchFilter()
{
$scenario = new ScenarioNode(null, array(), array(), null, 2);
$filter = new LineFilter(2);
$this->assertTrue($filter->isScenarioMatch($scenario));
$filter = new LineFilter(1);
$this->assertFalse($filter->isScenarioMatch($scenario));
$filter = new LineFilter(5);
$this->assertFalse($filter->isScenarioMatch($scenario));
$outline = new OutlineNode(null, array(), array(), new ExampleTableNode(array(), null), null, 20);
$filter = new LineFilter(5);
$this->assertFalse($filter->isScenarioMatch($outline));
$filter = new LineFilter(20);
$this->assertTrue($filter->isScenarioMatch($outline));
}
public function testFilterFeatureScenario()
{
$filter = new LineFilter(2);
$feature = $filter->filterFeature($this->getParsedFeature());
$this->assertCount(1, $scenarios = $feature->getScenarios());
$this->assertSame('Scenario#1', $scenarios[0]->getTitle());
$filter = new LineFilter(7);
$feature = $filter->filterFeature($this->getParsedFeature());
$this->assertCount(1, $scenarios = $feature->getScenarios());
$this->assertSame('Scenario#2', $scenarios[0]->getTitle());
$filter = new LineFilter(5);
$feature = $filter->filterFeature($this->getParsedFeature());
$this->assertCount(0, $scenarios = $feature->getScenarios());
}
public function testFilterFeatureOutline()
{
$filter = new LineFilter(13);
$feature = $filter->filterFeature($this->getParsedFeature());
$this->assertCount(1, $scenarios = $feature->getScenarios());
$this->assertSame('Scenario#3', $scenarios[0]->getTitle());
$this->assertCount(4, $scenarios[0]->getExampleTable()->getRows());
$filter = new LineFilter(19);
$feature = $filter->filterFeature($this->getParsedFeature());
$this->assertCount(1, $scenarios = $feature->getScenarios());
$this->assertSame('Scenario#3', $scenarios[0]->getTitle());
$this->assertCount(2, $scenarios[0]->getExampleTable()->getRows());
$this->assertSame(array(
array('action', 'outcome'),
array('act#1', 'out#1'),
), $scenarios[0]->getExampleTable()->getRows());
$filter = new LineFilter(21);
$feature = $filter->filterFeature($this->getParsedFeature());
$this->assertCount(1, $scenarios = $feature->getScenarios());
$this->assertSame('Scenario#3', $scenarios[0]->getTitle());
$this->assertCount(2, $scenarios[0]->getExampleTable()->getRows());
$this->assertSame(array(
array('action', 'outcome'),
array('act#3', 'out#3'),
), $scenarios[0]->getExampleTable()->getRows());
$filter = new LineFilter(18);
$feature = $filter->filterFeature($this->getParsedFeature());
$this->assertCount(1, $scenarios = $feature->getScenarios());
$this->assertSame('Scenario#3', $scenarios[0]->getTitle());
$this->assertCount(1, $scenarios[0]->getExampleTable()->getRows());
$this->assertSame(array(
array('action', 'outcome'),
), $scenarios[0]->getExampleTable()->getRows());
}
}