/** * Load collaborator into PHPSpec ServiceContainer * * @param ServiceContainer $container */ public function load(ServiceContainer $container, array $params) { $container->define('ecomdev.phpspec.magento_di_adapter.vfs', $this->vfsFactory()); $container->define('ecomdev.phpspec.magento_di_adapter.code_generator.io', $this->ioFactory()); $container->define('ecomdev.phpspec.magento_di_adapter.code_generator.defined_classes', $this->simplifiedDefinedClassesFactory()); $container->define('ecomdev.phpspec.magento_di_adapter.parameter_validator', $this->parameterValidatorFactory()); $container->define('runner.maintainers.ecomdev_magento_collaborator', $this->collaboratorMaintainerFactory(), ['runner.maintainers']); }
/** * Loads matchers into PHPSpec service container * * @param ServiceContainer $container * @param array $params */ public function load(ServiceContainer $container, array $params) { $container->define('ecomdev.matcher.file', function () { return $this->createFileMatcher(); }, ['matchers']); $container->define('ecomdev.matcher.file_content', function () { return $this->createFileContentMatcher(); }, ['matchers']); $container->define('ecomdev.matcher.directory', function () { return $this->createDirectoryMatcher(); }, ['matchers']); }
/** * @param ServiceContainer $container * @param array $params */ public function load(ServiceContainer $container, array $params) { $container->define('code_generator.generators.method.classidentifier', function ($c) { return new ClassIdentifier(); }); $container->define('code_generator.generators.method.argumentbuilder', function ($c) { return new StringBuilder($c->get('code_generator.generators.method.classidentifier')); }); $container->define('code_generator.generators.method', function ($c) { return new TypeHintedMethodGenerator($c->get('console.io'), $c->get('code_generator.templates'), null, $c->get('code_generator.generators.method.argumentbuilder')); }); }
/** * {@inheritdoc} */ public function load(ServiceContainer $container, array $params) { $container->define('laravel', function () use($params) { return new Laravel(isset($params['testing_environment']) ? $params['testing_environment'] : null, $this->getBootstrapPath(isset($params['framework_path']) ? $params['framework_path'] : null)); }); $container->define('runner.maintainers.laravel', function (ServiceContainer $c) { return new LaravelMaintainer($c->get('laravel')); }, ['runner.maintainers']); $container->define('runner.maintainers.presenter', function (ServiceContainer $c) { return new PresenterMaintainer($c->get('formatter.presenter')); }, ['runner.maintainers']); $container->define('event_dispatcher.listeners.laravel', function (ServiceContainer $c) { return new LaravelListener($c->get('laravel')); }, ['event_dispatcher.listeners']); }
/** * {@inheritdoc} */ public function load(ServiceContainer $container, array $params) { if (!$container instanceof IndexedServiceContainer) { throw new \InvalidArgumentException(sprintf('Container passed from PhpSpec must be an instance of "%s"', IndexedServiceContainer::class)); } $container->define('pamil.matchers.generate', function (IndexedServiceContainer $c) { return new Matcher\GenerateMatcher($c->get('formatter.presenter')); }, ['matchers']); $container->define('pamil.matchers.generate_values', function (IndexedServiceContainer $c) { return new Matcher\GenerateValuesMatcher($c->get('formatter.presenter')); }, ['matchers']); $container->define('pamil.matchers.generate_keys', function (IndexedServiceContainer $c) { return new Matcher\GenerateKeysMatcher($c->get('formatter.presenter')); }, ['matchers']); }
function it_adds_existing_matchers(ServiceContainer $container) { $container->define('ecomdev.matcher.file', Argument::that(function ($value) { $check = $value(); return $check instanceof CheckMatcher && $check->supports('haveFile', null, ['file']) && $check->supports('beFile', null, ['file']) && $check->supports('haveFiles', null, ['file', 'file2']) && $check->supports('createFiles', null, ['file', 'file2']); }), ['matchers'])->shouldBeCalled(); $container->define('ecomdev.matcher.file_content', Argument::that(function ($value) { $check = $value(); return $check instanceof CheckMatcher && $check->supports('haveFileContent', null, ['file', 'content']); }), ['matchers'])->shouldBeCalled(); $container->define('ecomdev.matcher.directory', Argument::that(function ($value) { $check = $value(); return $check instanceof CheckMatcher && $check->supports('haveDirectory', null, ['directory']) && $check->supports('beDirectory', null, ['directory']) && $check->supports('haveDirectories', null, ['directory', 'directory2']) && $check->supports('createDirectories', null, ['directory', 'directory2']); }), ['matchers'])->shouldBeCalled(); $this->load($container, []); }
/** * Add a formatter to the service container * * @param ServiceContainer $container * @param string $name * @param string $class */ protected function addFormatter(ServiceContainer $container, $name, $class) { $container->define('formatter.formatters.nyan.' . $name, function ($c) use($class) { /** @var ServiceContainer $c */ return new $class($c->get('formatter.presenter'), $c->get('console.io'), $c->get('event_dispatcher.listeners.stats')); }); }
function it_adds_those_factories_into_container_on_load() { $this->serviceContainer->define('ecomdev.phpspec.magento_di_adapter.code_generator.io', Argument::type(\Closure::class))->shouldBeCalled(); $this->serviceContainer->define('ecomdev.phpspec.magento_di_adapter.vfs', Argument::type(\Closure::class))->shouldBeCalled(); $this->serviceContainer->define('ecomdev.phpspec.magento_di_adapter.code_generator.defined_classes', Argument::type(\Closure::class))->shouldBeCalled(); $this->serviceContainer->define('ecomdev.phpspec.magento_di_adapter.parameter_validator', Argument::type(\Closure::class))->shouldBeCalled(); $this->serviceContainer->define('runner.maintainers.ecomdev_magento_collaborator', Argument::type(\Closure::class), ['runner.maintainers'])->shouldBeCalled(); $this->load($this->serviceContainer, []); }
private function defineupGenerators(ServiceContainer $container) { $container->define('code_generator.generators.method', function (ServiceContainer $container) { return new \Memio\SpecGen\MethodGenerator($container->get('memio_spec_gen.command_bus')); }, self::CODE_GENERATOR_TAG); $container->define('code_generator.generators.constructor', function (ServiceContainer $container) { return new \Memio\SpecGen\ConstructorGenerator($container->get('memio_spec_gen.command_bus')); }, self::CODE_GENERATOR_TAG); }
function it_registers_the_laravel_listener(ServiceContainer $container) { $container->define('event_dispatcher.listeners.laravel', Argument::type('Closure'), Argument::type('array'))->shouldBeCalled(); $this->load($container, []); }