public function testTags()
 {
     $scenario = new ScenarioNode();
     $this->assertFalse($scenario->hasTags());
     $this->assertInternalType('array', $scenario->getTags());
     $this->assertEquals(0, count($scenario->getTags()));
     $scenario->setTags($tags = array('tag1', 'tag2'));
     $this->assertEquals($tags, $scenario->getTags());
     $scenario->addTag('tag3');
     $this->assertEquals(array('tag1', 'tag2', 'tag3'), $scenario->getTags());
     $this->assertFalse($scenario->hasTag('tag4'));
     $this->assertTrue($scenario->hasTag('tag2'));
     $this->assertTrue($scenario->hasTag('tag3'));
 }
Beispiel #2
0
 /**
  * Loads scenario from provided scenario hash.
  *
  * @param array   $hash Scenario hash
  * @param integer $line Scenario definition line
  *
  * @return ScenarioNode
  */
 protected function loadScenarioHash(array $hash, $line = 0)
 {
     $scenario = new Node\ScenarioNode(null, isset($hash['line']) ? $hash['line'] : $line);
     $scenario->setKeyword(isset($hash['keyword']) ? $hash['keyword'] : 'Scenario');
     if (isset($hash['title'])) {
         $scenario->setTitle($hash['title']);
     }
     if (isset($hash['tags'])) {
         $scenario->setTags($hash['tags']);
     }
     if (isset($hash['steps'])) {
         foreach ($hash['steps'] as $stepIterator => $stepHash) {
             $scenario->addStep($this->loadStepHash($stepHash, $stepIterator));
         }
     }
     return $scenario;
 }