66 lines
1.6 KiB
PHP
66 lines
1.6 KiB
PHP
<?php
|
|
/**
|
|
* @file
|
|
* MyAwesomeExtension.php
|
|
*
|
|
* @author: marand
|
|
*
|
|
* @copyright (c) 2014 Ouest Systèmes Informatiques (OSInet).
|
|
*
|
|
* @license General Public License version 2 or later
|
|
*/
|
|
|
|
use Behat\Behat\Context\BehatContext;
|
|
use Behat\Behat\Context\ClassGuesser\ClassGuesserInterface;
|
|
use Behat\Behat\Context\ContextInterface;
|
|
use Behat\Behat\Context\Initializer\InitializerInterface;
|
|
use Behat\Behat\Extension\Extension;
|
|
use Behat\Mink\Mink;
|
|
use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition;
|
|
use Symfony\Component\Config\FileLocator;
|
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
|
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
|
|
|
|
class MyAwesomeExtension extends Extension {
|
|
public function load(array $config, ContainerBuilder $container) {
|
|
print_r($config);
|
|
$loader = new XmlFileLoader($container, new FileLocator(__DIR__));
|
|
$loader->load('services.xml');
|
|
}
|
|
}
|
|
|
|
class YourCustomContext extends BehatContext {
|
|
|
|
/**
|
|
* @beforeSuite
|
|
*/
|
|
public static function bS() {
|
|
echo __METHOD__ . "\n";
|
|
}
|
|
}
|
|
|
|
class MinkAwareInitializer implements InitializerInterface {
|
|
private $mink;
|
|
|
|
public function __construct(Mink $mink) {
|
|
$this->mink = $mink;
|
|
}
|
|
|
|
public function supports(ContextInterface $context) {
|
|
// in real life you should use interface for that
|
|
return method_exists($context, 'setMink');
|
|
}
|
|
|
|
public function initialize(ContextInterface $context) {
|
|
$context->setMink($this->mink);
|
|
}
|
|
}
|
|
|
|
class MinkContextClassGuesser implements ClassGuesserInterface {
|
|
public function guess() {
|
|
return "YourCustomContext";
|
|
}
|
|
}
|
|
|
|
#return new MyAwesomeExtension();
|
|
|