/** * Listens to "outline.after" event. * * @param Behat\Behat\Event\ScenarioEvent $event */ public function afterOutline(OutlineEvent $event) { if (StepEvent::FAILED === $event->getResult()) { $outline = $event->getOutline(); $this->writeln($outline->getFile() . ':' . $outline->getLine()); } }
/** * Initializes outline example event. * * @param Behat\Gherkin\Node\OutlineNode $outline * @param integer $iteration number of iteration * @param Behat\Behat\Environment\EnvironmentInterface $environment * @param integer $result * @param Boolean $skipped */ public function __construct(OutlineNode $outline, $iteration, EnvironmentInterface $environment, $result = null, $skipped = false) { parent::__construct($outline, $result); $this->iteration = $iteration; $this->environment = $environment; $this->skipped = $skipped; }
/** * Initializes outline example event. * * @param Behat\Gherkin\Node\OutlineNode $outline * @param integer $iteration number of iteration * @param Behat\Behat\Context\ContextInterface $context * @param integer $result * @param Boolean $skipped */ public function __construct(OutlineNode $outline, $iteration, ContextInterface $context, $result = null, $skipped = false) { parent::__construct($outline, $result); $this->iteration = $iteration; $this->context = $context; $this->skipped = $skipped; }
/** * Listens to "outline.after" event. * * @param OutlineEvent $event * * @uses printOutlineFooter() */ public function afterOutline(OutlineEvent $event) { $this->printOutlineFooter($event->getOutline()); }
/** * Listens to "outline.example.before" event. Starts the scenario on the server. * * @param $event OutlineEvent Event that contains the scenarioOutline. */ public function beforeOutline(OutlineEvent $event) { $this->_client->startScenario($event->getOutline()->getTitle()); }
/** * Configures default Mink session before each scenario. * Configuration is based on provided scenario tags: * * `@javascript` tagged scenarios will get `javascript_session` as default session * `@mink:CUSTOM_NAME tagged scenarios will get `CUSTOM_NAME` as default session * Other scenarios get `default_session` as default session * * `@insulated` tag will cause Mink to stop current sessions before scenario * instead of just soft-resetting them * * @param ScenarioEvent|OutlineEvent $event */ public function prepareDefaultMinkSession($event) { $scenario = $event instanceof ScenarioEvent ? $event->getScenario() : $event->getOutline(); $session = $this->parameters['default_session']; foreach ($scenario->getTags() as $tag) { if ('javascript' === $tag) { $session = $this->parameters['javascript_session']; } elseif (preg_match('/^mink\\:(.+)/', $tag, $matches)) { $session = $matches[1]; } } if ($scenario->hasTag('insulated')) { $this->mink->stopSessions(); } else { $this->mink->resetSessions(); } $this->mink->setDefaultSessionName($session); }
/** * Configures default Drupal driver to use before each scenario or outline. * * `@api` tagged scenarios will get the `api_driver` as the default driver. * * Other scenarios get the `default_driver` as the default driver. * * @param ScenarioEvent|OutlineEvent $event */ public function prepareDefaultDrupalDriver($event) { $scenario = $event instanceof ScenarioEvent ? $event->getScenario() : $event->getOutline(); // Set the default driver. $driver = $this->parameters['default_driver']; foreach ($scenario->getTags() as $tag) { if (isset($this->parameters[$tag . '_driver'])) { $driver = $this->parameters[$tag . '_driver']; } } $this->drupal->setDefaultDriverName($driver); }
/** * Listens to "outline.before" event. * * @param OutlineEvent $event * * @uses printOutlineHeader() */ public function beforeOutline(OutlineEvent $event) { $outline = $event->getOutline(); $this->currentScenario = $this->createScenario($outline, 'outline'); }