function UuidValidatorTest::testUriHost

See also

\Drupal\Core\Validation\Plugin\Validation\Constraint\UriHostConstraint

File

core/tests/Drupal/KernelTests/Core/Validation/UuidValidatorTest.php, line 50

Class

UuidValidatorTest
Tests the UUID validator.

Namespace

Drupal\KernelTests\Core\Validation

Code

public function testUriHost() {
    $typed_config_manager = \Drupal::service('config.typed');
    
    /** @var \Drupal\Core\Config\Schema\TypedConfigInterface $typed_config */
    $typed_config = $typed_config_manager->get('config_test.validation');
    // Test valid names.
    $typed_config->get('host')
        ->setValue('example.com');
    $this->assertCount(0, $typed_config->validate());
    $typed_config->get('host')
        ->setValue('example.com.');
    $this->assertCount(0, $typed_config->validate());
    $typed_config->get('host')
        ->setValue('default');
    $this->assertCount(0, $typed_config->validate());
    // Test invalid names.
    $typed_config->get('host')
        ->setValue('.example.com');
    $this->assertCount(1, $typed_config->validate());
    // Test valid IPv6 literals.
    $typed_config->get('host')
        ->setValue('[::1]');
    $this->assertCount(0, $typed_config->validate());
    $typed_config->get('host')
        ->setValue('[2001:DB8::]');
    $this->assertCount(0, $typed_config->validate());
    $typed_config->get('host')
        ->setValue('[2001:db8:dd54:4473:bd6e:52db:10b3:4abe]');
    $this->assertCount(0, $typed_config->validate());
    // Test invalid IPv6 literals.
    $typed_config->get('host')
        ->setValue('::1');
    $this->assertCount(1, $typed_config->validate());
    // Test valid IPv4 addresses.
    $typed_config->get('host')
        ->setValue('127.0.0.1');
    $this->assertCount(0, $typed_config->validate());
    $typed_config->get('host')
        ->setValue('192.0.2.254');
    $this->assertCount(0, $typed_config->validate());
}

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