Exemplo n.º 1
0
 /**
  * Validate if file size is allowed.
  *
  * @param FileInfoInterface $fileInfo
  * @param Constraint        $constraint
  */
 protected function validateFileSize(FileInfoInterface $fileInfo, Constraint $constraint)
 {
     // comes from Symfony\Component\Validator\Constraints\FileValidator
     if ($constraint->maxSize) {
         $limitInBytes = $constraint->maxSize;
         if ($fileInfo->getSize() > $limitInBytes) {
             $factorizeSizes = $this->factorizeSizes($fileInfo->getSize(), $limitInBytes, $constraint->binaryFormat);
             list($sizeAsString, $limitAsString, $suffix) = $factorizeSizes;
             $this->context->buildViolation($constraint->maxSizeMessage)->setParameter('{{ file }}', $this->formatValue($fileInfo->getOriginalFilename()))->setParameter('{{ size }}', $sizeAsString)->setParameter('{{ limit }}', $limitAsString)->setParameter('{{ suffix }}', $suffix)->setCode(File::TOO_LARGE_ERROR)->addViolation();
             return;
         }
     }
 }
 function it_validates_empty_extension_and_size($context, File $constraint, FileInfoInterface $fileInfo)
 {
     $constraint->allowedExtensions = [];
     $fileInfo->getId()->willReturn(12);
     $fileInfo->getUploadedFile()->willReturn(null);
     $fileInfo->getExtension()->willReturn('jpg');
     $fileInfo->getSize()->willReturn(100);
     $context->buildViolation(Argument::any())->shouldNotBeCalled();
     $this->validate($fileInfo, $constraint);
 }