function AllowedValuesConstraintValidatorTest::testValidationCallbackException

Same name in other branches
  1. 8.9.x core/tests/Drupal/KernelTests/Core/TypedData/AllowedValuesConstraintValidatorTest.php \Drupal\KernelTests\Core\TypedData\AllowedValuesConstraintValidatorTest::testValidationCallbackException()
  2. 10 core/tests/Drupal/KernelTests/Core/TypedData/AllowedValuesConstraintValidatorTest.php \Drupal\KernelTests\Core\TypedData\AllowedValuesConstraintValidatorTest::testValidationCallbackException()
  3. 11.x core/tests/Drupal/KernelTests/Core/TypedData/AllowedValuesConstraintValidatorTest.php \Drupal\KernelTests\Core\TypedData\AllowedValuesConstraintValidatorTest::testValidationCallbackException()

Tests the AllowedValuesConstraintValidator with an invalid callback.

File

core/tests/Drupal/KernelTests/Core/TypedData/AllowedValuesConstraintValidatorTest.php, line 106

Class

AllowedValuesConstraintValidatorTest
Tests AllowedValues validation constraint with both valid and invalid values.

Namespace

Drupal\KernelTests\Core\TypedData

Code

public function testValidationCallbackException() {
    // Create a definition that specifies some AllowedValues and a callback.
    // This tests that callbacks have a higher priority than a supplied list of
    // values and can be used to coerce the value to the correct type.
    $definition = DataDefinition::create('string')->addConstraint('AllowedValues', [
        'choices' => [
            1,
            2,
            3,
        ],
        'callback' => [
            static::class,
            'doesNotExist',
        ],
    ]);
    $typed_data = $this->typedData
        ->create($definition, 1);
    $this->expectException(ConstraintDefinitionException::class);
    $this->expectExceptionMessage('The AllowedValuesConstraint constraint expects a valid callback');
    $typed_data->validate();
}

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