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')); }
/** * 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; }