EmailValidatorTest.php

Same filename and directory in other branches
  1. 9 core/tests/Drupal/Tests/Component/Utility/EmailValidatorTest.php
  2. 8.9.x core/tests/Drupal/Tests/Component/Utility/EmailValidatorTest.php
  3. 10 core/tests/Drupal/Tests/Component/Utility/EmailValidatorTest.php

Namespace

Drupal\Tests\Component\Utility

File

core/tests/Drupal/Tests/Component/Utility/EmailValidatorTest.php

View source
<?php

declare (strict_types=1);
namespace Drupal\Tests\Component\Utility;

use Drupal\Component\Utility\EmailValidator;
use Egulias\EmailValidator\Validation\RFCValidation;
use PHPUnit\Framework\TestCase;

/**
 * Tests the EmailValidator utility class.
 *
 * @coversDefaultClass \Drupal\Component\Utility\EmailValidator
 * @group Utility
 */
class EmailValidatorTest extends TestCase {
    
    /**
     * @covers ::isValid
     */
    public function testIsValid() : void {
        // Note that \Drupal\Component\Utility\EmailValidator wraps
        // \Egulias\EmailValidator\EmailValidator so we don't do anything more than
        // test that the wrapping works since the dependency has its own test
        // coverage.
        $validator = new EmailValidator();
        $this->assertTrue($validator->isValid('example@example.com'));
        $this->assertFalse($validator->isValid('example@example.com@'));
        $this->assertFalse($validator->isValid('example@example .com'));
    }
    
    /**
     * @covers ::isValid
     */
    public function testIsValidException() : void {
        $validator = new EmailValidator();
        $this->expectException(\BadMethodCallException::class);
        $this->expectExceptionMessage('Calling \\Drupal\\Component\\Utility\\EmailValidator::isValid() with the second argument is not supported. See https://www.drupal.org/node/2997196');
        $validator->isValid('example@example.com', new RFCValidation());
    }

}

Classes

Title Deprecated Summary
EmailValidatorTest Tests the EmailValidator utility class.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.