18
18
use Symfony \Component \Form \Extension \Validator \Constraints \Form ;
19
19
use Symfony \Component \Form \Extension \Validator \Constraints \FormValidator ;
20
20
use Symfony \Component \Form \SubmitButtonBuilder ;
21
+ use Symfony \Component \Validator \Constraints \GroupSequence ;
21
22
use Symfony \Component \Validator \Constraints \NotNull ;
22
23
use Symfony \Component \Validator \Constraints \NotBlank ;
23
24
use Symfony \Component \Validator \Tests \Constraints \AbstractConstraintValidatorTest ;
@@ -70,8 +71,7 @@ public function testValidate()
70
71
->setData ($ object )
71
72
->getForm ();
72
73
73
- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
74
- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
74
+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
75
75
76
76
$ this ->validator ->validate ($ form , new Form ());
77
77
@@ -93,12 +93,11 @@ public function testValidateConstraints()
93
93
->getForm ();
94
94
95
95
// First default constraints
96
- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
97
- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
96
+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
98
97
99
98
// Then custom constraints
100
- $ this ->expectValidateValueAt (2 , 'data ' , $ object , $ constraint1 , 'group1 ' );
101
- $ this ->expectValidateValueAt (3 , 'data ' , $ object , $ constraint2 , 'group2 ' );
99
+ $ this ->expectValidateValueAt (1 , 'data ' , $ object , $ constraint1 , 'group1 ' );
100
+ $ this ->expectValidateValueAt (2 , 'data ' , $ object , $ constraint2 , 'group2 ' );
102
101
103
102
$ this ->validator ->validate ($ form , new Form ());
104
103
@@ -132,7 +131,7 @@ public function testMissingConstraintIndex()
132
131
$ form = new FormBuilder ('name ' , '\stdClass ' , $ this ->dispatcher , $ this ->factory );
133
132
$ form = $ form ->setData ($ object )->getForm ();
134
133
135
- $ this ->expectValidateAt (0 , 'data ' , $ object , 'Default ' );
134
+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'Default ' ) );
136
135
137
136
$ this ->validator ->validate ($ form , new Form ());
138
137
@@ -344,15 +343,29 @@ function () { throw new TransformationFailedException(); }
344
343
}
345
344
346
345
public function testHandleCallbackValidationGroups ()
346
+ {
347
+ $ object = $ this ->getMockBuilder ('\stdClass ' )->getMock ();
348
+ $ options = array ('validation_groups ' => new GroupSequence (array ('group1 ' , 'group2 ' )));
349
+ $ form = $ this ->getBuilder ('name ' , '\stdClass ' , $ options )
350
+ ->setData ($ object )
351
+ ->getForm ();
352
+
353
+ $ this ->expectValidateAt (0 , 'data ' , $ object , new GroupSequence (array ('group1 ' , 'group2 ' )));
354
+
355
+ $ this ->validator ->validate ($ form , new Form ());
356
+
357
+ $ this ->assertNoViolation ();
358
+ }
359
+
360
+ public function testHandleGroupSequenceValidationGroups ()
347
361
{
348
362
$ object = $ this ->getMockBuilder ('\stdClass ' )->getMock ();
349
363
$ options = array ('validation_groups ' => array ($ this , 'getValidationGroups ' ));
350
364
$ form = $ this ->getBuilder ('name ' , '\stdClass ' , $ options )
351
365
->setData ($ object )
352
366
->getForm ();
353
367
354
- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
355
- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
368
+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
356
369
357
370
$ this ->validator ->validate ($ form , new Form ());
358
371
@@ -367,7 +380,7 @@ public function testDontExecuteFunctionNames()
367
380
->setData ($ object )
368
381
->getForm ();
369
382
370
- $ this ->expectValidateAt (0 , 'data ' , $ object , 'header ' );
383
+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'header ' ) );
371
384
372
385
$ this ->validator ->validate ($ form , new Form ());
373
386
@@ -384,8 +397,7 @@ public function testHandleClosureValidationGroups()
384
397
->setData ($ object )
385
398
->getForm ();
386
399
387
- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
388
- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
400
+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
389
401
390
402
$ this ->validator ->validate ($ form , new Form ());
391
403
@@ -411,7 +423,7 @@ public function testUseValidationGroupOfClickedButton()
411
423
412
424
$ parent ->submit (array ('name ' => $ object , 'submit ' => '' ));
413
425
414
- $ this ->expectValidateAt (0 , 'data ' , $ object , 'button_group ' );
426
+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'button_group ' ) );
415
427
416
428
$ this ->validator ->validate ($ form , new Form ());
417
429
@@ -437,7 +449,7 @@ public function testDontUseValidationGroupOfUnclickedButton()
437
449
438
450
$ form ->setData ($ object );
439
451
440
- $ this ->expectValidateAt (0 , 'data ' , $ object , 'form_group ' );
452
+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'form_group ' ) );
441
453
442
454
$ this ->validator ->validate ($ form , new Form ());
443
455
@@ -461,7 +473,7 @@ public function testUseInheritedValidationGroup()
461
473
462
474
$ form ->setData ($ object );
463
475
464
- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group ' );
476
+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'group ' ) );
465
477
466
478
$ this ->validator ->validate ($ form , new Form ());
467
479
@@ -485,8 +497,7 @@ public function testUseInheritedCallbackValidationGroup()
485
497
486
498
$ form ->setData ($ object );
487
499
488
- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
489
- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
500
+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
490
501
491
502
$ this ->validator ->validate ($ form , new Form ());
492
503
@@ -512,8 +523,7 @@ public function testUseInheritedClosureValidationGroup()
512
523
513
524
$ form ->setData ($ object );
514
525
515
- $ this ->expectValidateAt (0 , 'data ' , $ object , 'group1 ' );
516
- $ this ->expectValidateAt (1 , 'data ' , $ object , 'group2 ' );
526
+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ('group1 ' , 'group2 ' ));
517
527
518
528
$ this ->validator ->validate ($ form , new Form ());
519
529
@@ -527,7 +537,7 @@ public function testAppendPropertyPath()
527
537
->setData ($ object )
528
538
->getForm ();
529
539
530
- $ this ->expectValidateAt (0 , 'data ' , $ object , 'Default ' );
540
+ $ this ->expectValidateAt (0 , 'data ' , $ object , array ( 'Default ' ) );
531
541
532
542
$ this ->validator ->validate ($ form , new Form ());
533
543
0 commit comments