@@ -351,4 +351,122 @@ public function testExplodeHandlesSegmentingNestedRules()
351
351
],
352
352
], $ results ->implicitAttributes );
353
353
}
354
+
355
+ public function testExplodeHandlesStringDateRule ()
356
+ {
357
+ $ parser = (new ValidationRuleParser ([
358
+ 'date ' => '2021-01-01 ' ,
359
+ ]));
360
+
361
+ $ rules = [
362
+ 'date ' => 'date|date_format:Y-m-d ' ,
363
+ ];
364
+
365
+ $ results = $ parser ->explode ($ rules );
366
+
367
+ $ this ->assertEquals ([
368
+ 'date ' => [
369
+ 'date ' ,
370
+ 'date_format:Y-m-d ' ,
371
+ ],
372
+ ], $ results ->rules );
373
+ }
374
+
375
+ public function testExplodeHandlesDateRule ()
376
+ {
377
+ $ parser = (new ValidationRuleParser ([
378
+ 'date ' => '2021-01-01 ' ,
379
+ ]));
380
+
381
+ $ rules = [
382
+ 'date ' => Rule::date (),
383
+ ];
384
+
385
+ $ results = $ parser ->explode ($ rules );
386
+
387
+ $ this ->assertEquals ([
388
+ 'date ' => [
389
+ 'date ' ,
390
+ ],
391
+ ], $ results ->rules );
392
+ }
393
+
394
+ public function testExplodeHandlesDateRuleWithAdditionalRules ()
395
+ {
396
+ $ parser = (new ValidationRuleParser ([
397
+ 'date ' => '2021-01-01 ' ,
398
+ ]));
399
+
400
+ $ rules = [
401
+ 'date ' => Rule::date ()->format ('Y-m-d ' ),
402
+ ];
403
+
404
+ $ results = $ parser ->explode ($ rules );
405
+
406
+ $ this ->assertEquals ([
407
+ 'date ' => [
408
+ 'date ' ,
409
+ 'date_format:Y-m-d ' ,
410
+ ],
411
+ ], $ results ->rules );
412
+ }
413
+
414
+ public function testExplodeHandlesNumericStringRule ()
415
+ {
416
+ $ parser = (new ValidationRuleParser ([
417
+ 'number ' => 42 ,
418
+ ]));
419
+
420
+ $ rules = [
421
+ 'number ' => 'numeric|max:100 ' ,
422
+ ];
423
+
424
+ $ results = $ parser ->explode ($ rules );
425
+
426
+ $ this ->assertEquals ([
427
+ 'number ' => [
428
+ 'numeric ' ,
429
+ 'max:100 ' ,
430
+ ],
431
+ ], $ results ->rules );
432
+ }
433
+
434
+ public function testExplodeHandlesNumericRule ()
435
+ {
436
+ $ parser = (new ValidationRuleParser ([
437
+ 'number ' => 42 ,
438
+ ]));
439
+
440
+ $ rules = [
441
+ 'number ' => Rule::numeric (),
442
+ ];
443
+
444
+ $ results = $ parser ->explode ($ rules );
445
+
446
+ $ this ->assertEquals ([
447
+ 'number ' => [
448
+ 'numeric ' ,
449
+ ],
450
+ ], $ results ->rules );
451
+ }
452
+
453
+ public function testExplodeHandlesNumericRuleWithAdditionalRules ()
454
+ {
455
+ $ parser = (new ValidationRuleParser ([
456
+ 'number ' => 42 ,
457
+ ]));
458
+
459
+ $ rules = [
460
+ 'number ' => Rule::numeric ()->max (100 ),
461
+ ];
462
+
463
+ $ results = $ parser ->explode ($ rules );
464
+
465
+ $ this ->assertEquals ([
466
+ 'number ' => [
467
+ 'numeric ' ,
468
+ 'max:100 ' ,
469
+ ],
470
+ ], $ results ->rules );
471
+ }
354
472
}
0 commit comments