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