3 namespace Tests\Behat\Gherkin\Filter;
5 use Behat\Gherkin\Filter\RoleFilter;
6 use Behat\Gherkin\Node\FeatureNode;
8 class RoleFilterTest extends FilterTest
10 public function testIsFeatureMatchFilter()
13 In order to be able to read news in my own language
15 I need to be able to switch website language to french
17 $feature = new FeatureNode(null, $description, array(), null, array(), null, null, null, 1);
19 $filter = new RoleFilter('french user');
20 $this->assertTrue($filter->isFeatureMatch($feature));
22 $filter = new RoleFilter('french *');
23 $this->assertTrue($filter->isFeatureMatch($feature));
25 $filter = new RoleFilter('french');
26 $this->assertFalse($filter->isFeatureMatch($feature));
28 $filter = new RoleFilter('user');
29 $this->assertFalse($filter->isFeatureMatch($feature));
31 $filter = new RoleFilter('*user');
32 $this->assertTrue($filter->isFeatureMatch($feature));
34 $filter = new RoleFilter('French User');
35 $this->assertTrue($filter->isFeatureMatch($feature));
37 $feature = new FeatureNode(null, null, array(), null, array(), null, null, null, 1);
38 $filter = new RoleFilter('French User');
39 $this->assertFalse($filter->isFeatureMatch($feature));
42 public function testFeatureRolePrefixedWithAn()
45 In order to be able to read news in my own language
47 I need to be able to switch website language to french
49 $feature = new FeatureNode(null, $description, array(), null, array(), null, null, null, 1);
51 $filter = new RoleFilter('american user');
52 $this->assertTrue($filter->isFeatureMatch($feature));
54 $filter = new RoleFilter('american *');
55 $this->assertTrue($filter->isFeatureMatch($feature));
57 $filter = new RoleFilter('american');
58 $this->assertFalse($filter->isFeatureMatch($feature));
60 $filter = new RoleFilter('user');
61 $this->assertFalse($filter->isFeatureMatch($feature));
63 $filter = new RoleFilter('*user');
64 $this->assertTrue($filter->isFeatureMatch($feature));
66 $filter = new RoleFilter('American User');
67 $this->assertTrue($filter->isFeatureMatch($feature));
69 $feature = new FeatureNode(null, null, array(), null, array(), null, null, null, 1);
70 $filter = new RoleFilter('American User');
71 $this->assertFalse($filter->isFeatureMatch($feature));