You are here

public function RecursiveContextualValidatorTest::testValidateProperty in Drupal 8

Same name and namespace in other branches
  1. 9 core/tests/Drupal/Tests/Core/TypedData/RecursiveContextualValidatorTest.php \Drupal\Tests\Core\TypedData\RecursiveContextualValidatorTest::testValidateProperty()

@covers ::validateProperty

File

core/tests/Drupal/Tests/Core/TypedData/RecursiveContextualValidatorTest.php, line 269
Contains \Drupal\Tests\Core\TypedData\RecursiveContextualValidatorTest.

Class

RecursiveContextualValidatorTest
@coversDefaultClass \Drupal\Core\TypedData\Validation\RecursiveContextualValidator @group typedData

Namespace

Drupal\Tests\Core\TypedData

Code

public function testValidateProperty() {
  $typed_data = $this
    ->buildExampleTypedDataWithProperties();
  $violations = $this->recursiveValidator
    ->validateProperty($typed_data, 'key_with_properties');
  $this
    ->assertCount(3, $violations);
  $this
    ->assertEquals('violation: 2', $violations
    ->get(0)
    ->getMessage());
  $this
    ->assertEquals('violation: subvalue1', $violations
    ->get(1)
    ->getMessage());
  $this
    ->assertEquals('violation: subvalue2', $violations
    ->get(2)
    ->getMessage());
  $this
    ->assertEquals('', $violations
    ->get(0)
    ->getPropertyPath());
  $this
    ->assertEquals('subkey1', $violations
    ->get(1)
    ->getPropertyPath());
  $this
    ->assertEquals('subkey2', $violations
    ->get(2)
    ->getPropertyPath());
}