EmailValidatorTest.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. namespace Drupal\Tests\Component\Utility;
  3. use Drupal\Component\Utility\EmailValidator;
  4. use Egulias\EmailValidator\Validation\RFCValidation;
  5. use PHPUnit\Framework\TestCase;
  6. /**
  7. * Tests the EmailValidator utility class.
  8. *
  9. * @coversDefaultClass \Drupal\Component\Utility\EmailValidator
  10. * @group Utility
  11. */
  12. class EmailValidatorTest extends TestCase {
  13. /**
  14. * @covers ::isValid
  15. */
  16. public function testIsValid() {
  17. // Note that \Drupal\Component\Utility\EmailValidator wraps
  18. // \Egulias\EmailValidator\EmailValidator so we don't do anything more than
  19. // test that the wrapping works since the dependency has its own test
  20. // coverage.
  21. $validator = new EmailValidator();
  22. $this->assertTrue($validator->isValid('example@example.com'));
  23. $this->assertFalse($validator->isValid('example@example.com@'));
  24. }
  25. /**
  26. * @covers ::isValid
  27. */
  28. public function testIsValidException() {
  29. $validator = new EmailValidator();
  30. $this->expectException(\BadMethodCallException::class);
  31. $this->expectExceptionMessage('Calling \Drupal\Component\Utility\EmailValidator::isValid() with the second argument is not supported. See https://www.drupal.org/node/2997196');
  32. $validator->isValid('example@example.com', (new RFCValidation()));
  33. }
  34. }