From 8398947c9c1c1266aad0bea773d0b524e0d81643 Mon Sep 17 00:00:00 2001 From: Yonel Ceruto Date: Wed, 24 Oct 2018 08:06:04 -0400 Subject: [PATCH] Fixed explicitly ignores a depreciation --- src/Symfony/Component/OptionsResolver/OptionsResolver.php | 2 +- .../Component/OptionsResolver/Tests/OptionsResolverTest.php | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Component/OptionsResolver/OptionsResolver.php b/src/Symfony/Component/OptionsResolver/OptionsResolver.php index 2a9daa9bbc..591982af51 100644 --- a/src/Symfony/Component/OptionsResolver/OptionsResolver.php +++ b/src/Symfony/Component/OptionsResolver/OptionsResolver.php @@ -801,7 +801,7 @@ class OptionsResolver implements Options // Shortcut for resolved options if (array_key_exists($option, $this->resolved)) { - if ($triggerDeprecation && isset($this->deprecated[$option]) && \is_string($this->deprecated[$option])) { + if ($triggerDeprecation && isset($this->deprecated[$option]) && (isset($this->given[$option]) || $this->calling) && \is_string($this->deprecated[$option])) { @trigger_error(strtr($this->deprecated[$option], array('%name%' => $option)), E_USER_DEPRECATED); } diff --git a/src/Symfony/Component/OptionsResolver/Tests/OptionsResolverTest.php b/src/Symfony/Component/OptionsResolver/Tests/OptionsResolverTest.php index a3494ed185..d996fdd264 100644 --- a/src/Symfony/Component/OptionsResolver/Tests/OptionsResolverTest.php +++ b/src/Symfony/Component/OptionsResolver/Tests/OptionsResolverTest.php @@ -754,6 +754,9 @@ class OptionsResolverTest extends TestCase yield 'It explicitly ignores a depreciation' => array( function (OptionsResolver $resolver) { $resolver + ->setDefault('baz', function (Options $options) { + return $options->offsetGet('foo', false); + }) ->setDefault('foo', null) ->setDeprecated('foo') ->setDefault('bar', function (Options $options) {