/**
  * Initializes event.
  *
  * @param Environment $env
  * @param FeatureNode $feature
  * @param TestResult  $result
  * @param Teardown    $teardown
  */
 public function __construct(Environment $env, FeatureNode $feature, TestResult $result, Teardown $teardown)
 {
     parent::__construct($env);
     $this->feature = $feature;
     $this->result = $result;
     $this->teardown = $teardown;
 }
 /**
  * beforeFeature
  *
  * @param FeatureTested $event
  */
 public function beforeFeature(FeatureTested $event)
 {
     $feature = $event->getFeature();
     $this->currentTestsuite = $testsuite = $this->xml->addChild('testsuite');
     $testsuite->addAttribute('name', $feature->getTitle());
     $this->testsuiteStats = array(TestResult::PASSED => 0, TestResult::SKIPPED => 0, TestResult::PENDING => 0, TestResult::FAILED => 0);
     $this->testsuiteTimer->start();
 }
 /**
  * Initializes event.
  *
  * @param Environment $env
  * @param FeatureNode $feature
  * @param Setup       $setup
  */
 public function __construct(Environment $env, FeatureNode $feature, Setup $setup)
 {
     parent::__construct($env);
     $this->feature = $feature;
     $this->setup = $setup;
 }
 /**
  * Initializes event.
  *
  * @param Environment $env
  * @param FeatureNode $feature
  */
 public function __construct(Environment $env, FeatureNode $feature)
 {
     parent::__construct($env);
     $this->feature = $feature;
 }
 /**
  * @param FeatureTested $event
  */
 public function beforeFeature(FeatureTested $event)
 {
     $suite = $event->getSuite();
     $feature = $event->getFeature();
     $suiteId = $suite->getName();
     $featurePathinfo = pathinfo($feature->getFile());
     $featureId = $featurePathinfo['filename'];
     $outputFile = sprintf('%s_%s.xml', $suiteId, $featureId);
     $this->printer = new FileOutputPrinter($outputFile, $this->outputDir);
     $this->xml = new \SimpleXmlElement('<?xml version="1.0" encoding="utf-8"?><testsuites></testsuites>');
     $testsuite = $this->xml->addChild('testsuite');
     $suiteName = $event->getSuite()->getName();
     if ($this->suitePrefix) {
         $suiteName = $this->suitePrefix . $suiteName;
     }
     $testsuite->addAttribute('name', $suiteName);
     $this->currentTestsuite = $testsuite;
     $this->testsuiteStats = array(TestResult::PASSED => 0, TestResult::SKIPPED => 0, TestResult::PENDING => 0, TestResult::FAILED => 0);
     $this->testsuiteTimer->start();
 }