コード例 #1
0
 /**
  * Returns whether the given parameter values are valid.
  *
  * @param array $parameterValues          The parameter values to
  *                                        validate.
  * @param InstallerDescriptor $descriptor The installer descriptor to
  *                                        validate the values for.
  *
  * @return ConstraintViolation[] The found violations. If no violations were
  *                               found, an empty array is returned.
  */
 public function validate(array $parameterValues, InstallerDescriptor $descriptor)
 {
     $violations = array();
     foreach ($parameterValues as $name => $value) {
         if (!$descriptor->hasParameter($name)) {
             $violations[] = new ConstraintViolation(ConstraintViolation::NO_SUCH_PARAMETER, $value, $descriptor->getName(), $name);
         }
     }
     foreach ($descriptor->getParameters() as $parameter) {
         if (!isset($parameterValues[$parameter->getName()])) {
             if ($parameter->isRequired()) {
                 $violations[] = new ConstraintViolation(ConstraintViolation::MISSING_PARAMETER, $parameterValues, $descriptor->getName(), $parameter->getName());
             }
         }
     }
     return $violations;
 }
コード例 #2
0
 public function testHasParameter()
 {
     $descriptor = new InstallerDescriptor('symlink', self::SYMLINK_CLASS, null, array(new InstallerParameter('param')));
     $this->assertTrue($descriptor->hasParameter('param'));
     $this->assertFalse($descriptor->hasParameter('foobar'));
 }