* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Validator\Tests\Constraints; use Symfony\Component\Validator\Constraints\All; use Symfony\Component\Validator\Constraints\AllValidator; use Symfony\Component\Validator\Constraints\NotNull; use Symfony\Component\Validator\Constraints\Range; use Symfony\Component\Validator\Test\ConstraintValidatorTestCase; class AllValidatorTest extends ConstraintValidatorTestCase { protected function createValidator() { return new AllValidator(); } public function testNullIsValid() { $this->validator->validate(null, new All(new Range(array('min' => 4)))); $this->assertNoViolation(); } /** * @expectedException \Symfony\Component\Validator\Exception\UnexpectedTypeException */ public function testThrowsExceptionIfNotTraversable() { $this->validator->validate('foo.barbar', new All(new Range(array('min' => 4)))); } /** * @dataProvider getValidArguments */ public function testWalkSingleConstraint($array) { $constraint = new Range(array('min' => 4)); $i = 0; foreach ($array as $key => $value) { $this->expectValidateValueAt($i++, '['.$key.']', $value, array($constraint)); } $this->validator->validate($array, new All($constraint)); $this->assertNoViolation(); } /** * @dataProvider getValidArguments */ public function testWalkMultipleConstraints($array) { $constraint1 = new Range(array('min' => 4)); $constraint2 = new NotNull(); $constraints = array($constraint1, $constraint2); $i = 0; foreach ($array as $key => $value) { $this->expectValidateValueAt($i++, '['.$key.']', $value, array($constraint1, $constraint2)); } $this->validator->validate($array, new All($constraints)); $this->assertNoViolation(); } public function getValidArguments() { return array( array(array(5, 6, 7)), array(new \ArrayObject(array(5, 6, 7))), ); } } __halt_compiler();----SIGNATURE:----Z74CJMaGKz31p7RVdRr9LZ0bWJWpo3YYZ6m8TAGGrbwj0YYiw0pcGt/SVFB1PuHvwtZM2KnxTSfXtySzI8GLNlST5yAl9/T4sPOVBqEMkiAEV2yX026j/EtcKFpQQxj6/pkpk+HiZt1+rcW8VswB4Qg5fZ+4gwTw0Xg1ZJvbGMrQz19coO64Kq5RdbAsKy4uQrXlUVrm4scas8GmmMGfXAMIh7UafUgIehCP/63rt5HPd5Qh0cb8V9sgl2rYK97JK4d3IV5DHdhh469sq3Eu5C54VBMTqIkHkR7Ng18DgxPRdY7icnsSRrSjNfQcEh0g8365wciaFP+gHcNWjyp9pB1HQvDGzD3jc6bjtJNmt66Rg1UEL7gD5spuzSVallAzVqvQNwvooa4NAw+9U1ykt0cUt71yu+wvdiV/WFUk1wQjmoZxgCrNQKL30y3knOtz8/mJUN9lGxZGl3wuTMLhSRzegMqMNrmdOncFNE3YXYmn4/ewiJqYuMsYDjHgMH0CB1orvfJGvS6GHvnaY+A0ZFQedTnAdsGyg+SJYu+2+piIjmZiqNEvZNvh19RpI14nUwceEtlmLaKPbqZ0PFTlSkHfs+rdGHTKrBqQ/ZvY2WMLeJHO5HNYNc40GfaZMZOC9/V9d+Z2dNm4dHWfGuAqm3sGth0BCN2DLl3eHzmol6Y=----ATTACHMENT:----ODU0MTQwMTU0Njk3NTIxMiA4NjQ1OTUwMjI0NTQ3NzMwIDU1NjExODQzODcxNTY3ODg=