public function testFeature()
 {
     $scenario = new ScenarioNode();
     $this->assertNull($scenario->getFeature());
     $scenario->setFeature($feature = new FeatureNode());
     $this->assertSame($feature, $scenario->getFeature());
 }
 public function testIsScenarioMatchFilter()
 {
     $feature = new Node\FeatureNode(null, null, '/some/path/with/some.feature', 1);
     $scenario = new Node\ScenarioNode(null, 2);
     $scenario->setFeature($feature);
     $filter = new PathsFilter(array('/some'));
     $this->assertTrue($filter->isScenarioMatch($scenario));
     $filter = new PathsFilter(array('/abc', '/def', '/some'));
     $this->assertTrue($filter->isScenarioMatch($scenario));
     $filter = new PathsFilter(array('/abc', '/def', '/some/path'));
     $this->assertTrue($filter->isScenarioMatch($scenario));
     $filter = new PathsFilter(array('/abc', '/some/path', '/def'));
     $this->assertTrue($filter->isScenarioMatch($scenario));
     $filter = new PathsFilter(array('/abc', '/def', '/wrong/path'));
     $this->assertFalse($filter->isScenarioMatch($scenario));
 }
    public function testIsScenarioMatchFilter()
    {
        $feature = new Node\FeatureNode(null, <<<NAR
In order to be able to read news in my own language
As a french user
I need to be able to switch website language to french
NAR
, null, 1);
        $scenario = new Node\ScenarioNode(null, 2);
        $scenario->setFeature($feature);
        $filter = new RoleFilter('french user');
        $this->assertTrue($filter->isScenarioMatch($scenario));
        $filter = new RoleFilter('french *');
        $this->assertTrue($filter->isScenarioMatch($scenario));
        $filter = new RoleFilter('french');
        $this->assertFalse($filter->isScenarioMatch($scenario));
        $filter = new RoleFilter('user');
        $this->assertFalse($filter->isScenarioMatch($scenario));
        $filter = new RoleFilter('*user');
        $this->assertTrue($filter->isScenarioMatch($scenario));
        $filter = new RoleFilter('French User');
        $this->assertTrue($filter->isScenarioMatch($scenario));
    }