private function assertBindingValid(BindingDescriptor $bindingDescriptor) { if ($bindingDescriptor->isTypeNotFound() || $bindingDescriptor->isTypeNotEnabled()) { return; } foreach ($bindingDescriptor->getLoadErrors() as $exception) { throw $exception; } }
private function assertBindingValid(BindingDescriptor $bindingDescriptor) { if ($bindingDescriptor->isTypeNotFound() || $bindingDescriptor->isTypeNotEnabled()) { return; } foreach ($bindingDescriptor->getViolations() as $violation) { switch ($violation->getCode()) { case ConstraintViolation::NO_SUCH_PARAMETER: throw NoSuchParameterException::forParameterName($violation->getParameterName(), $violation->getTypeName()); case ConstraintViolation::MISSING_PARAMETER: throw MissingParameterException::forParameterName($violation->getParameterName(), $violation->getTypeName()); } } }
public function testAddRootBindingDoesNotFailIfTypeNotEnabledAndIgnoreTypeNotEnabled() { $this->initDefaultManager(); $binding = new BindingDescriptor('/path', 'my/type'); $this->rootPackageFile->addTypeDescriptor(new BindingTypeDescriptor('my/type')); $this->packageFile1->addTypeDescriptor(new BindingTypeDescriptor('my/type')); // The type is not enabled $this->discovery->expects($this->never())->method('bind'); $this->packageFileStorage->expects($this->once())->method('saveRootPackageFile')->with($this->rootPackageFile)->will($this->returnCallback(function (RootPackageFile $rootPackageFile) use($binding) { $bindings = $rootPackageFile->getBindingDescriptors(); PHPUnit_Framework_Assert::assertSame(array($binding), $bindings); PHPUnit_Framework_Assert::assertTrue($binding->isTypeNotEnabled()); })); $this->manager->addRootBinding($binding, DiscoveryManager::IGNORE_TYPE_NOT_ENABLED); }