public function testTags()
 {
     $feature = new FeatureNode();
     $this->assertFalse($feature->hasTags());
     $this->assertInternalType('array', $feature->getTags());
     $this->assertEquals(0, count($feature->getTags()));
     $feature->setTags($tags = array('tag1', 'tag2'));
     $this->assertEquals($tags, $feature->getTags());
     $feature->addTag('tag3');
     $this->assertEquals(array('tag1', 'tag2', 'tag3'), $feature->getTags());
     $this->assertFalse($feature->hasTag('tag4'));
     $this->assertTrue($feature->hasTag('tag2'));
     $this->assertTrue($feature->hasTag('tag3'));
 }
 protected function featureEventMock($tag)
 {
     $feature = new FeatureNode();
     $feature->addTag($tag);
     return new FeatureEvent($feature, null);
 }
 public function testIsScenarioMatchFilter()
 {
     $feature = new Node\FeatureNode();
     $scenario = new Node\ScenarioNode();
     $feature->addScenario($scenario);
     $filter = new TagFilter('@wip');
     $this->assertFalse($filter->isScenarioMatch($scenario));
     $feature->addTag('wip');
     $this->assertTrue($filter->isScenarioMatch($scenario));
     $filter = new TagFilter('~@done');
     $this->assertTrue($filter->isScenarioMatch($scenario));
     $feature->addTag('done');
     $this->assertFalse($filter->isScenarioMatch($scenario));
     $feature->setTags(array('tag1', 'tag2', 'tag3'));
     $filter = new TagFilter('@tag5,@tag4,@tag6');
     $this->assertFalse($filter->isScenarioMatch($scenario));
     $feature->addTag('tag5');
     $this->assertTrue($filter->isScenarioMatch($scenario));
     $filter = new TagFilter('@wip&&@vip');
     $feature->setTags(array('wip', 'not-done'));
     $this->assertFalse($filter->isScenarioMatch($scenario));
     $feature->addTag('vip');
     $this->assertTrue($filter->isScenarioMatch($scenario));
     $filter = new TagFilter('@wip,@vip&&@user');
     $feature->setTags(array('wip'));
     $this->assertFalse($filter->isScenarioMatch($scenario));
     $feature->setTags(array('vip'));
     $this->assertFalse($filter->isScenarioMatch($scenario));
     $feature->setTags(array('wip', 'user'));
     $this->assertTrue($filter->isScenarioMatch($scenario));
     $feature->setTags(array('vip', 'user'));
     $this->assertTrue($filter->isScenarioMatch($scenario));
     $feature->setTags(array());
     $filter = new TagFilter('@wip');
     $this->assertFalse($filter->isScenarioMatch($scenario));
     $feature->addTag('wip');
     $this->assertTrue($filter->isScenarioMatch($scenario));
     $filter = new TagFilter('~@done');
     $this->assertTrue($filter->isScenarioMatch($scenario));
     $feature->addTag('done');
     $this->assertFalse($filter->isScenarioMatch($scenario));
     $scenario->setTags(array('tag1', 'tag2', 'tag3'));
     $filter = new TagFilter('@tag5,@tag4,@tag6');
     $this->assertFalse($filter->isScenarioMatch($scenario));
     $feature->addTag('tag5');
     $this->assertTrue($filter->isScenarioMatch($scenario));
     $filter = new TagFilter('@wip&&@vip');
     $scenario->setTags(array('wip', 'not-done'));
     $this->assertFalse($filter->isScenarioMatch($scenario));
     $feature->addTag('vip');
     $this->assertTrue($filter->isScenarioMatch($scenario));
     $filter = new TagFilter('@wip,@vip&&@user');
     $scenario->setTags(array('wip'));
     $this->assertFalse($filter->isScenarioMatch($scenario));
     $scenario->setTags(array('vip'));
     $this->assertFalse($filter->isScenarioMatch($scenario));
     $scenario->setTags(array('wip', 'user'));
     $this->assertTrue($filter->isScenarioMatch($scenario));
     $scenario->setTags(array('vip', 'user'));
     $this->assertTrue($filter->isScenarioMatch($scenario));
     $feature->setTags(array('wip'));
     $scenario->setTags(array('user'));
     $this->assertTrue($filter->isScenarioMatch($scenario));
     $feature->setTags(array());
     $this->assertFalse($filter->isScenarioMatch($scenario));
     $filter = new TagFilter('@wip,@vip&&~@group');
     $feature->setTags(array('vip'));
     $this->assertTrue($filter->isScenarioMatch($scenario));
     $scenario->addTag('group');
     $this->assertFalse($filter->isScenarioMatch($scenario));
 }
Esempio n. 4
0
 public function addTag($tag)
 {
     $this->featureNode->addTag($tag);
 }