From 7aa4feec0a75fe2fdf5518e9958dc150e5c80deb Mon Sep 17 00:00:00 2001 From: gjuric Date: Fri, 3 Feb 2023 13:13:50 +0100 Subject: [PATCH] [Validator] Make ConstraintValidatorTestCase compatible with PHPUnit 10 --- .../Test/ConstraintValidatorTestCase.php | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/Symfony/Component/Validator/Test/ConstraintValidatorTestCase.php b/src/Symfony/Component/Validator/Test/ConstraintValidatorTestCase.php index bee4639b26bfa..073dd17f741df 100644 --- a/src/Symfony/Component/Validator/Test/ConstraintValidatorTestCase.php +++ b/src/Symfony/Component/Validator/Test/ConstraintValidatorTestCase.php @@ -130,16 +130,22 @@ protected function createContext() $context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath); $context->setConstraint($this->constraint); - $contextualValidator = $this->getMockBuilder(AssertingContextualValidator::class) - ->setConstructorArgs([$context]) - ->setMethods([ - 'atPath', - 'validate', - 'validateProperty', - 'validatePropertyValue', - 'getViolations', - ]) - ->getMock(); + $contextualValidatorMockBuilder = $this->getMockBuilder(AssertingContextualValidator::class) + ->setConstructorArgs([$context]); + $contextualValidatorMethods = [ + 'atPath', + 'validate', + 'validateProperty', + 'validatePropertyValue', + 'getViolations', + ]; + // PHPUnit 10 removed MockBuilder::setMethods() + if (method_exists($contextualValidatorMockBuilder, 'onlyMethods')) { + $contextualValidatorMockBuilder->onlyMethods($contextualValidatorMethods); + } else { + $contextualValidatorMockBuilder->setMethods($contextualValidatorMethods); + } + $contextualValidator = $contextualValidatorMockBuilder->getMock(); $contextualValidator->expects($this->any()) ->method('atPath') ->willReturnCallback(function ($path) use ($contextualValidator) {