Security update for permissions_by_term
[yaffs-website] / vendor / drupal / drupal-extension / src / Drupal / DrupalExtension / Context / Initializer / DrupalAwareInitializer.php
diff --git a/vendor/drupal/drupal-extension/src/Drupal/DrupalExtension/Context/Initializer/DrupalAwareInitializer.php b/vendor/drupal/drupal-extension/src/Drupal/DrupalExtension/Context/Initializer/DrupalAwareInitializer.php
new file mode 100644 (file)
index 0000000..b9e4e07
--- /dev/null
@@ -0,0 +1,42 @@
+<?php
+
+namespace Drupal\DrupalExtension\Context\Initializer;
+
+use Behat\Behat\Context\Initializer\ContextInitializer;
+use Behat\Behat\Context\Context;
+use Behat\Testwork\Hook\HookDispatcher;
+
+use Drupal\DrupalDriverManager;
+use Drupal\DrupalExtension\Context\DrupalContext;
+use Drupal\DrupalExtension\Context\DrupalAwareInterface;
+
+class DrupalAwareInitializer implements ContextInitializer {
+  private $drupal, $parameters, $dispatcher;
+
+  public function __construct(DrupalDriverManager $drupal, array $parameters, HookDispatcher $dispatcher) {
+    $this->drupal = $drupal;
+    $this->parameters = $parameters;
+    $this->dispatcher = $dispatcher;
+  }
+
+  /**
+   * {@inheritdocs}
+   */
+  public function initializeContext(Context $context) {
+
+    // All contexts are passed here, only DrupalAwareInterface is allowed.
+    if (!$context instanceof DrupalAwareInterface) {
+      return;
+    }
+
+    // Set Drupal driver manager.
+    $context->setDrupal($this->drupal);
+
+    // Set event dispatcher.
+    $context->setDispatcher($this->dispatcher);
+
+    // Add all parameters to the context.
+    $context->setDrupalParameters($this->parameters);
+  }
+
+}