protected function assertViolations(array $expected)
 {
     $violations = $this->context->getViolations();
     $this->assertCount(count($expected), $violations);
     $i = 0;
     foreach ($expected as $violation) {
         $this->assertEquals($violation, $violations[$i++]);
     }
 }
Пример #2
0
 /**
  * If the user select "Yes, I have a password", we check the password.
  */
 public function verifyAccount($value, ExecutionContextInterface $context)
 {
     if ($value == 1) {
         $data = $context->getRoot()->getData();
         if (false === $data['password'] || empty($data['password']) && '0' != $data['password']) {
             $context->getViolations()->add(new ConstraintViolation(Translator::getInstance()->trans('This value should not be blank.'), 'account_password', array(), $context->getRoot(), 'children[password].data', 'propertyPath'));
         }
     }
 }
 /**
  * @param array $expected
  *
  * @deprecated To be removed in Symfony 3.0. Use
  *             {@link buildViolation()} instead.
  */
 protected function assertViolations(array $expected)
 {
     @trigger_error('The ' . __METHOD__ . ' method is deprecated since version 2.3 and will be removed in 3.0. Use the buildViolation() method instead.', E_USER_DEPRECATED);
     $violations = $this->context->getViolations();
     $this->assertCount(count($expected), $violations);
     $i = 0;
     foreach ($expected as $violation) {
         $this->assertEquals($violation, $violations[$i++]);
     }
 }
 /**
  * Sequentially validates a node's value in each group of a group sequence.
  *
  * If any of the constraints generates a violation, subsequent groups in the
  * group sequence are skipped.
  *
  * @param mixed                     $value             The validated value
  * @param object|null               $object            The current object
  * @param string                    $cacheKey          The key for caching
  *                                                     the validated value
  * @param MetadataInterface         $metadata          The metadata of the
  *                                                     value
  * @param string                    $propertyPath      The property path leading
  *                                                     to the value
  * @param int                       $traversalStrategy The strategy used for
  *                                                     traversing the value
  * @param GroupSequence             $groupSequence     The group sequence
  * @param string[]|null             $cascadedGroup     The group that should
  *                                                     be passed to cascaded
  *                                                     objects instead of
  *                                                     the group sequence
  * @param ExecutionContextInterface $context           The execution context
  */
 private function stepThroughGroupSequence($value, $object, $cacheKey, MetadataInterface $metadata = null, $propertyPath, $traversalStrategy, GroupSequence $groupSequence, $cascadedGroup, ExecutionContextInterface $context)
 {
     $violationCount = count($context->getViolations());
     $cascadedGroups = $cascadedGroup ? array($cascadedGroup) : null;
     foreach ($groupSequence->groups as $groupInSequence) {
         $groups = array($groupInSequence);
         if ($metadata instanceof ClassMetadataInterface) {
             $this->validateClassNode($value, $cacheKey, $metadata, $propertyPath, $groups, $cascadedGroups, $traversalStrategy, $context);
         } else {
             $this->validateGenericNode($value, $object, $cacheKey, $metadata, $propertyPath, $groups, $cascadedGroups, $traversalStrategy, $context);
         }
         // Abort sequence validation if a violation was generated
         if (count($context->getViolations()) > $violationCount) {
             break;
         }
     }
 }
 /**
  * {@inheritdoc}
  */
 public function getViolations()
 {
     return $this->context->getViolations();
 }
 public function assertRaised()
 {
     $expected = array();
     foreach ($this->assertions as $assertion) {
         $expected[] = $assertion->getViolation();
     }
     $expected[] = $this->getViolation();
     $violations = iterator_to_array($this->context->getViolations());
     \PHPUnit_Framework_Assert::assertSame($expectedCount = count($expected), $violationsCount = count($violations), sprintf('%u violation(s) expected. Got %u.', $expectedCount, $violationsCount));
     reset($violations);
     foreach ($expected as $violation) {
         \PHPUnit_Framework_Assert::assertEquals($violation, current($violations));
         next($violations);
     }
 }