CurrencyTest.php
3 years ago
EmailTest.php
3 years ago
IntegerTest.php
3 years ago
MaxTest.php
3 years ago
MinTest.php
3 years ago
NumericTest.php
3 years ago
RequiredTest.php
3 years ago
SizeTest.php
3 years ago
EmailTest.php
50 lines
| 1 | <?php |
| 2 | |
| 3 | declare(strict_types=1); |
| 4 | |
| 5 | namespace StellarWP\Validation\Tests\Unit\Rules; |
| 6 | |
| 7 | use StellarWP\Validation\Rules\Email; |
| 8 | use StellarWP\Validation\Tests\TestCase; |
| 9 | |
| 10 | class EmailTest extends TestCase |
| 11 | { |
| 12 | /** |
| 13 | * @unreleased |
| 14 | * |
| 15 | * @dataProvider emailsProvider |
| 16 | */ |
| 17 | public function testEmailRule($email, bool $shouldBeValid) |
| 18 | { |
| 19 | $rule = new Email(); |
| 20 | |
| 21 | if ($shouldBeValid) { |
| 22 | self::assertValidationRulePassed($rule, $email); |
| 23 | } else { |
| 24 | self::assertValidationRuleFailed($rule, $email); |
| 25 | } |
| 26 | } |
| 27 | |
| 28 | /** |
| 29 | * @unreleased |
| 30 | * |
| 31 | * @return array<int, array<mixed, bool>> |
| 32 | */ |
| 33 | public function emailsProvider(): array |
| 34 | { |
| 35 | return [ |
| 36 | // Valid emails |
| 37 | ['jason.adams@givewp.com', true], |
| 38 | ['bill123@example.com', true], |
| 39 | |
| 40 | // Invalid emails |
| 41 | [true, false], |
| 42 | [123, false], |
| 43 | ['jason.adams', false], |
| 44 | ['jason.adams@', false], |
| 45 | ['jason.adams@givewp', false], |
| 46 | ['jason.adams@givewp.', false], |
| 47 | ]; |
| 48 | } |
| 49 | } |
| 50 |