public function testTags()
 {
     $outline = new OutlineNode();
     $this->assertFalse($outline->hasTags());
     $this->assertInternalType('array', $outline->getTags());
     $this->assertEquals(0, count($outline->getTags()));
     $outline->setTags($tags = array('tag1', 'tag2'));
     $this->assertEquals($tags, $outline->getTags());
     $outline->addTag('tag3');
     $this->assertEquals(array('tag1', 'tag2', 'tag3'), $outline->getTags());
     $this->assertFalse($outline->hasTag('tag4'));
     $this->assertTrue($outline->hasTag('tag2'));
     $this->assertTrue($outline->hasTag('tag3'));
 }
Exemplo n.º 2
0
 /**
  * Loads outline from provided outline hash.
  *
  * @param array   $hash Outline hash
  * @param integer $line Outline definition line
  *
  * @return OutlineNode
  */
 protected function loadOutlineHash(array $hash, $line = 0)
 {
     $outline = new Node\OutlineNode(null, isset($hash['line']) ? $hash['line'] : $line);
     $outline->setKeyword(isset($hash['keyword']) ? $hash['keyword'] : 'Scenario Outline');
     if (isset($hash['title'])) {
         $outline->setTitle($hash['title']);
     }
     if (isset($hash['tags'])) {
         $outline->setTags($hash['tags']);
     }
     if (isset($hash['examples'])) {
         if (isset($hash['examples']['keyword'])) {
             $keyword = $hash['examples']['keyword'];
             unset($hash['examples']['keyword']);
         } else {
             $keyword = 'Examples';
         }
         $table = $this->loadTableHash($hash['examples']);
         $table->setKeyword($keyword);
         $outline->setExamples($table);
     }
     if (isset($hash['steps'])) {
         foreach ($hash['steps'] as $stepIterator => $stepHash) {
             $outline->addStep($this->loadStepHash($stepHash, $stepIterator));
         }
     }
     return $outline;
 }