3 namespace Drupal\DrupalExtension\Context\ContextClass;
5 use Behat\Behat\Context\ContextClass\ClassGenerator as BehatClassGenerator;
6 use Behat\Testwork\Suite\Suite;
9 * Generates a starting class that extends the RawDrupalContext.
11 class ClassGenerator implements BehatClassGenerator {
16 protected static $template = <<<'PHP'
19 {namespace}use Drupal\DrupalExtension\Context\RawDrupalContext;
20 use Behat\Behat\Context\SnippetAcceptingContext;
21 use Behat\Gherkin\Node\PyStringNode;
22 use Behat\Gherkin\Node\TableNode;
23 use Behat\Behat\Tester\Exception\PendingException;
26 * Defines application features from the specific context.
28 class {className} extends RawDrupalContext implements SnippetAcceptingContext {
31 * Initializes context.
33 * Every scenario gets its own context instance.
34 * You can also pass arbitrary arguments to the
35 * context constructor through behat.yml.
37 public function __construct() {
47 public function supportsSuiteAndClass(Suite $suite, $contextClass) {
54 public function generateClass(Suite $suite, $contextClass) {
58 if (false !== $pos = strrpos($fqn, '\\')) {
59 $namespace = 'namespace ' . substr($fqn, 0, $pos) . ";\n\n";
60 $contextClass = substr($fqn, $pos + 1);
66 '{namespace}' => $namespace,
67 '{className}' => $contextClass,