1818use Symfony \Component \Form \Extension \Validator \Constraints \Form ;
1919use Symfony \Component \Form \Extension \Validator \Constraints \FormValidator ;
2020use Symfony \Component \Form \SubmitButtonBuilder ;
21+ use Symfony \Component \Validator \Constraints \GroupSequence ;
2122use Symfony \Component \Validator \Constraints \NotNull ;
2223use Symfony \Component \Validator \Constraints \NotBlank ;
2324use Symfony \Component \Validator \Tests \Constraints \AbstractConstraintValidatorTest ;
@@ -73,8 +74,7 @@ public function testValidate()
7374 ->setData ($ object )
7475 ->getForm ();
7576
76- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
77- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
77+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
7878
7979 $ this ->validator ->validate ($ form , new Form ());
8080
@@ -96,12 +96,11 @@ public function testValidateConstraints()
9696 ->getForm ();
9797
9898 // First default constraints
99- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
100- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
99+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
101100
102101 // Then custom constraints
103- $ this ->expectValidateValueAt (2 , 'data ' , $ object , $ constraint1 , 'group1 ' );
104- $ this ->expectValidateValueAt (3 , 'data ' , $ object , $ constraint2 , 'group2 ' );
102+ $ this ->expectValidateValueAt (1 , 'data ' , $ object , $ constraint1 , 'group1 ' );
103+ $ this ->expectValidateValueAt (2 , 'data ' , $ object , $ constraint2 , 'group2 ' );
105104
106105 $ this ->validator ->validate ($ form , new Form ());
107106
@@ -135,7 +134,7 @@ public function testMissingConstraintIndex()
135134 $ form = new FormBuilder ('name ' , '\stdClass ' , $ this ->dispatcher , $ this ->factory );
136135 $ form = $ form ->setData ($ object )->getForm ();
137136
138- $ this ->expectValidateAt (0 , 'data ' , $ object , 'Default ' );
137+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'Default ' ) );
139138
140139 $ this ->validator ->validate ($ form , new Form ());
141140
@@ -347,15 +346,29 @@ function () { throw new TransformationFailedException(); }
347346 }
348347
349348 public function testHandleCallbackValidationGroups ()
349+ {
350+ $ object = $ this ->getMock ('\stdClass ' );
351+ $ options = array ('validation_groups ' => new GroupSequence (array ('group1 ' , 'group2 ' )));
352+ $ form = $ this ->getBuilder ('name ' , '\stdClass ' , $ options )
353+ ->setData ($ object )
354+ ->getForm ();
355+
356+ $ this ->expectValidateAt (0 , 'data ' , $ object , new GroupSequence (array ('group1 ' , 'group2 ' )));
357+
358+ $ this ->validator ->validate ($ form , new Form ());
359+
360+ $ this ->assertNoViolation ();
361+ }
362+
363+ public function testHandleGroupSequenceValidationGroups ()
350364 {
351365 $ object = $ this ->getMock ('\stdClass ' );
352366 $ options = array ('validation_groups ' => array ($ this , 'getValidationGroups ' ));
353367 $ form = $ this ->getBuilder ('name ' , '\stdClass ' , $ options )
354368 ->setData ($ object )
355369 ->getForm ();
356370
357- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
358- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
371+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
359372
360373 $ this ->validator ->validate ($ form , new Form ());
361374
@@ -370,7 +383,7 @@ public function testDontExecuteFunctionNames()
370383 ->setData ($ object )
371384 ->getForm ();
372385
373- $ this ->expectValidateAt (0 , 'data ' , $ object , 'header ' );
386+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'header ' ) );
374387
375388 $ this ->validator ->validate ($ form , new Form ());
376389
@@ -387,8 +400,7 @@ public function testHandleClosureValidationGroups()
387400 ->setData ($ object )
388401 ->getForm ();
389402
390- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
391- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
403+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
392404
393405 $ this ->validator ->validate ($ form , new Form ());
394406
@@ -414,7 +426,7 @@ public function testUseValidationGroupOfClickedButton()
414426
415427 $ parent ->submit (array ('name ' => $ object , 'submit ' => '' ));
416428
417- $ this ->expectValidateAt (0 , 'data ' , $ object , 'button_group ' );
429+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'button_group ' ) );
418430
419431 $ this ->validator ->validate ($ form , new Form ());
420432
@@ -440,7 +452,7 @@ public function testDontUseValidationGroupOfUnclickedButton()
440452
441453 $ form ->setData ($ object );
442454
443- $ this ->expectValidateAt (0 , 'data ' , $ object , 'form_group ' );
455+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'form_group ' ) );
444456
445457 $ this ->validator ->validate ($ form , new Form ());
446458
@@ -464,7 +476,7 @@ public function testUseInheritedValidationGroup()
464476
465477 $ form ->setData ($ object );
466478
467- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group ' );
479+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'group ' ) );
468480
469481 $ this ->validator ->validate ($ form , new Form ());
470482
@@ -488,8 +500,7 @@ public function testUseInheritedCallbackValidationGroup()
488500
489501 $ form ->setData ($ object );
490502
491- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
492- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
503+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
493504
494505 $ this ->validator ->validate ($ form , new Form ());
495506
@@ -515,8 +526,7 @@ public function testUseInheritedClosureValidationGroup()
515526
516527 $ form ->setData ($ object );
517528
518- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
519- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
529+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
520530
521531 $ this ->validator ->validate ($ form , new Form ());
522532
@@ -530,7 +540,7 @@ public function testAppendPropertyPath()
530540 ->setData ($ object )
531541 ->getForm ();
532542
533- $ this ->expectValidateAt (0 , 'data ' , $ object , 'Default ' );
543+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'Default ' ) );
534544
535545 $ this ->validator ->validate ($ form , new Form ());
536546
0 commit comments