ValidationInRuleTest.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace Illuminate\Tests\Validation;
  3. use Illuminate\Tests\Validation\fixtures\Values;
  4. use Illuminate\Validation\Rule;
  5. use Illuminate\Validation\Rules\In;
  6. use PHPUnit\Framework\TestCase;
  7. class ValidationInRuleTest extends TestCase
  8. {
  9. public function testItCorrectlyFormatsAStringVersionOfTheRule()
  10. {
  11. $rule = new In(['Laravel', 'Framework', 'PHP']);
  12. $this->assertSame('in:"Laravel","Framework","PHP"', (string) $rule);
  13. $rule = new In(['Life, the Universe and Everything', 'this is a "quote"']);
  14. $this->assertSame('in:"Life, the Universe and Everything","this is a ""quote"""', (string) $rule);
  15. $rule = new In(["a,b\nc,d"]);
  16. $this->assertSame("in:\"a,b\nc,d\"", (string) $rule);
  17. $rule = Rule::in([1, 2, 3, 4]);
  18. $this->assertSame('in:"1","2","3","4"', (string) $rule);
  19. $rule = Rule::in(collect([1, 2, 3, 4]));
  20. $this->assertSame('in:"1","2","3","4"', (string) $rule);
  21. $rule = Rule::in(new Values);
  22. $this->assertSame('in:"1","2","3","4"', (string) $rule);
  23. $rule = Rule::in('1', '2', '3', '4');
  24. $this->assertSame('in:"1","2","3","4"', (string) $rule);
  25. }
  26. }