Security update for permissions_by_term
[yaffs-website] / vendor / behat / gherkin / tests / Behat / Gherkin / Filter / LineFilterTest.php
1 <?php
2
3 namespace Tests\Behat\Gherkin\Filter;
4
5 use Behat\Gherkin\Filter\LineFilter;
6 use Behat\Gherkin\Node\ExampleTableNode;
7 use Behat\Gherkin\Node\FeatureNode;
8 use Behat\Gherkin\Node\OutlineNode;
9 use Behat\Gherkin\Node\ScenarioNode;
10
11 class LineFilterTest extends FilterTest
12 {
13     public function testIsFeatureMatchFilter()
14     {
15         $feature = new FeatureNode(null, null, array(), null, array(), null, null, null, 1);
16
17         $filter = new LineFilter(1);
18         $this->assertTrue($filter->isFeatureMatch($feature));
19
20         $filter = new LineFilter(2);
21         $this->assertFalse($filter->isFeatureMatch($feature));
22
23         $filter = new LineFilter(3);
24         $this->assertFalse($filter->isFeatureMatch($feature));
25     }
26
27     public function testIsScenarioMatchFilter()
28     {
29         $scenario = new ScenarioNode(null, array(), array(), null, 2);
30
31         $filter = new LineFilter(2);
32         $this->assertTrue($filter->isScenarioMatch($scenario));
33
34         $filter = new LineFilter(1);
35         $this->assertFalse($filter->isScenarioMatch($scenario));
36
37         $filter = new LineFilter(5);
38         $this->assertFalse($filter->isScenarioMatch($scenario));
39
40         $outline = new OutlineNode(null, array(), array(), new ExampleTableNode(array(), null), null, 20);
41
42         $filter = new LineFilter(5);
43         $this->assertFalse($filter->isScenarioMatch($outline));
44
45         $filter = new LineFilter(20);
46         $this->assertTrue($filter->isScenarioMatch($outline));
47     }
48
49     public function testFilterFeatureScenario()
50     {
51         $filter = new LineFilter(2);
52         $feature = $filter->filterFeature($this->getParsedFeature());
53         $this->assertCount(1, $scenarios = $feature->getScenarios());
54         $this->assertSame('Scenario#1', $scenarios[0]->getTitle());
55
56         $filter = new LineFilter(7);
57         $feature = $filter->filterFeature($this->getParsedFeature());
58         $this->assertCount(1, $scenarios = $feature->getScenarios());
59         $this->assertSame('Scenario#2', $scenarios[0]->getTitle());
60
61         $filter = new LineFilter(5);
62         $feature = $filter->filterFeature($this->getParsedFeature());
63         $this->assertCount(0, $scenarios = $feature->getScenarios());
64     }
65
66     public function testFilterFeatureOutline()
67     {
68         $filter = new LineFilter(13);
69         $feature = $filter->filterFeature($this->getParsedFeature());
70         $this->assertCount(1, $scenarios = $feature->getScenarios());
71         $this->assertSame('Scenario#3', $scenarios[0]->getTitle());
72         $this->assertCount(4, $scenarios[0]->getExampleTable()->getRows());
73
74         $filter = new LineFilter(19);
75         $feature = $filter->filterFeature($this->getParsedFeature());
76         $this->assertCount(1, $scenarios = $feature->getScenarios());
77         $this->assertSame('Scenario#3', $scenarios[0]->getTitle());
78         $this->assertCount(2, $scenarios[0]->getExampleTable()->getRows());
79         $this->assertSame(array(
80             array('action', 'outcome'),
81             array('act#1', 'out#1'),
82         ), $scenarios[0]->getExampleTable()->getRows());
83
84         $filter = new LineFilter(21);
85         $feature = $filter->filterFeature($this->getParsedFeature());
86         $this->assertCount(1, $scenarios = $feature->getScenarios());
87         $this->assertSame('Scenario#3', $scenarios[0]->getTitle());
88         $this->assertCount(2, $scenarios[0]->getExampleTable()->getRows());
89         $this->assertSame(array(
90             array('action', 'outcome'),
91             array('act#3', 'out#3'),
92         ), $scenarios[0]->getExampleTable()->getRows());
93
94         $filter = new LineFilter(18);
95         $feature = $filter->filterFeature($this->getParsedFeature());
96         $this->assertCount(1, $scenarios = $feature->getScenarios());
97         $this->assertSame('Scenario#3', $scenarios[0]->getTitle());
98         $this->assertCount(1, $scenarios[0]->getExampleTable()->getRows());
99         $this->assertSame(array(
100             array('action', 'outcome'),
101         ), $scenarios[0]->getExampleTable()->getRows());
102     }
103 }