diff --git a/core/lib/Drupal/Core/TypedData/Validation/TypedDataAwareValidatorTrait.php b/core/lib/Drupal/Core/TypedData/Validation/TypedDataAwareValidatorTrait.php index 7c0509f..ba5beef 100644 --- a/core/lib/Drupal/Core/TypedData/Validation/TypedDataAwareValidatorTrait.php +++ b/core/lib/Drupal/Core/TypedData/Validation/TypedDataAwareValidatorTrait.php @@ -7,6 +7,7 @@ namespace Drupal\Core\TypedData\Validation; +use Drupal\Core\TypedData\PrimitiveInterface; use Drupal\Core\TypedData\TypedDataInterface; /** @@ -27,7 +28,7 @@ public function getTypedData() { $context = $this->context; /** @var \Symfony\Component\Validator\Context\ExecutionContextInterface $context */ $data = $context->getObject(); - if (!$data instanceof TypedDataInterface) { + if (!$data instanceof TypedDataInterface && !$data instanceof PrimitiveInterface) { throw new \LogicException("There is no Typed Data object available."); } return $data; diff --git a/core/tests/Drupal/Tests/Core/TypedData/RecursiveContextualValidatorTest.php b/core/tests/Drupal/Tests/Core/TypedData/RecursiveContextualValidatorTest.php index 5befa85..c027e2c 100644 --- a/core/tests/Drupal/Tests/Core/TypedData/RecursiveContextualValidatorTest.php +++ b/core/tests/Drupal/Tests/Core/TypedData/RecursiveContextualValidatorTest.php @@ -237,8 +237,3 @@ protected function setupTypedData(array $tree, $name = '') { } } - -interface TraversableTypedDataInterfaceWithIterator extends TraversableTypedDataInterface, \IteratorAggregate { - -} - diff --git a/core/tests/Drupal/Tests/Core/Validation/Plugin/Validation/Constraint/PrimitiveTypeConstraintValidatorTest.php b/core/tests/Drupal/Tests/Core/Validation/Plugin/Validation/Constraint/PrimitiveTypeConstraintValidatorTest.php index 3a73b60..49c08e5 100644 --- a/core/tests/Drupal/Tests/Core/Validation/Plugin/Validation/Constraint/PrimitiveTypeConstraintValidatorTest.php +++ b/core/tests/Drupal/Tests/Core/Validation/Plugin/Validation/Constraint/PrimitiveTypeConstraintValidatorTest.php @@ -24,17 +24,10 @@ class PrimitiveTypeConstraintValidatorTest extends UnitTestCase { * @dataProvider provideTestValidate */ public function testValidate(PrimitiveInterface $typed_data, $value, $valid) { - $metadata = $this->getMockBuilder('Drupal\Core\TypedData\Validation\GenericMetadata') - ->disableOriginalConstructor() - ->getMock(); - $metadata->expects($this->any()) - ->method('getTypedData') - ->willReturn($typed_data); - - $context = $this->getMock('Symfony\Component\Validator\ExecutionContextInterface'); + $context = $this->getMock('\Symfony\Component\Validator\Context\ExecutionContextInterface'); $context->expects($this->any()) - ->method('getMetadata') - ->willReturn($metadata); + ->method('getObject') + ->willReturn($typed_data); if ($valid) { $context->expects($this->never())