function RecursiveContextualValidatorTest::testPropertiesValidateWithMultipleLevels

Same name and namespace in other branches
  1. 8.9.x core/tests/Drupal/Tests/Core/TypedData/RecursiveContextualValidatorTest.php \Drupal\Tests\Core\TypedData\RecursiveContextualValidatorTest::testPropertiesValidateWithMultipleLevels()
  2. 10 core/tests/Drupal/Tests/Core/TypedData/RecursiveContextualValidatorTest.php \Drupal\Tests\Core\TypedData\RecursiveContextualValidatorTest::testPropertiesValidateWithMultipleLevels()
  3. 11.x core/tests/Drupal/Tests/Core/TypedData/RecursiveContextualValidatorTest.php \Drupal\Tests\Core\TypedData\RecursiveContextualValidatorTest::testPropertiesValidateWithMultipleLevels()

@covers ::validate

File

core/tests/Drupal/Tests/Core/TypedData/RecursiveContextualValidatorTest.php, line 159

Class

RecursiveContextualValidatorTest
@coversDefaultClass <a href="/api/drupal/core%21lib%21Drupal%21Core%21TypedData%21Validation%21RecursiveContextualValidator.php/class/RecursiveContextualValidator/9" title="Defines a recursive contextual validator for Typed Data." class="local">\Drupal\Core\TypedData\Validation\RecursiveContextualValidator</a> @group typedData

Namespace

Drupal\Tests\Core\TypedData

Code

public function testPropertiesValidateWithMultipleLevels() {
    $typed_data = $this->buildExampleTypedDataWithProperties();
    $violations = $this->recursiveValidator
        ->validate($typed_data);
    $this->assertCount(6, $violations);
    $this->assertEquals('violation: 3', $violations->get(0)
        ->getMessage());
    $this->assertEquals('violation: value1', $violations->get(1)
        ->getMessage());
    $this->assertEquals('violation: value2', $violations->get(2)
        ->getMessage());
    $this->assertEquals('violation: 2', $violations->get(3)
        ->getMessage());
    $this->assertEquals('violation: subvalue1', $violations->get(4)
        ->getMessage());
    $this->assertEquals('violation: subvalue2', $violations->get(5)
        ->getMessage());
    $this->assertEquals('', $violations->get(0)
        ->getPropertyPath());
    $this->assertEquals('key1', $violations->get(1)
        ->getPropertyPath());
    $this->assertEquals('key2', $violations->get(2)
        ->getPropertyPath());
    $this->assertEquals('key_with_properties', $violations->get(3)
        ->getPropertyPath());
    $this->assertEquals('key_with_properties.subkey1', $violations->get(4)
        ->getPropertyPath());
    $this->assertEquals('key_with_properties.subkey2', $violations->get(5)
        ->getPropertyPath());
}

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