diff --git a/app/code/Magento/Developer/Model/Logger/Handler/Debug.php b/app/code/Magento/Developer/Model/Logger/Handler/Debug.php index ba98524bb665e..fc659c773c0af 100644 --- a/app/code/Magento/Developer/Model/Logger/Handler/Debug.php +++ b/app/code/Magento/Developer/Model/Logger/Handler/Debug.php @@ -21,11 +21,6 @@ class Debug extends \Magento\Framework\Logger\Handler\Debug */ private $state; - /** - * @var ScopeConfigInterface - */ - private $scopeConfig; - /** * @var DeploymentConfig */ @@ -34,7 +29,6 @@ class Debug extends \Magento\Framework\Logger\Handler\Debug /** * @param DriverInterface $filesystem * @param State $state - * @param ScopeConfigInterface $scopeConfig * @param DeploymentConfig $deploymentConfig * @param string $filePath * @throws \Exception @@ -42,14 +36,12 @@ class Debug extends \Magento\Framework\Logger\Handler\Debug public function __construct( DriverInterface $filesystem, State $state, - ScopeConfigInterface $scopeConfig, DeploymentConfig $deploymentConfig, $filePath = null ) { parent::__construct($filesystem, $filePath); $this->state = $state; - $this->scopeConfig = $scopeConfig; $this->deploymentConfig = $deploymentConfig; } diff --git a/app/code/Magento/Developer/Model/Logger/Handler/Syslog.php b/app/code/Magento/Developer/Model/Logger/Handler/Syslog.php index 3f5ff58640313..c6ee70fb9ce40 100644 --- a/app/code/Magento/Developer/Model/Logger/Handler/Syslog.php +++ b/app/code/Magento/Developer/Model/Logger/Handler/Syslog.php @@ -29,13 +29,10 @@ class Syslog extends \Magento\Framework\Logger\Handler\Syslog private $deploymentConfig; /** - * @param ScopeConfigInterface $scopeConfig Scope config * @param DeploymentConfig $deploymentConfig Deployment config * @param string $ident The string ident to be added to each message - * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function __construct( - ScopeConfigInterface $scopeConfig, DeploymentConfig $deploymentConfig, string $ident ) { diff --git a/app/code/Magento/Developer/Test/Unit/Model/Logger/Handler/SyslogTest.php b/app/code/Magento/Developer/Test/Unit/Model/Logger/Handler/SyslogTest.php index 8bb0b1f176313..5e824e43764de 100644 --- a/app/code/Magento/Developer/Test/Unit/Model/Logger/Handler/SyslogTest.php +++ b/app/code/Magento/Developer/Test/Unit/Model/Logger/Handler/SyslogTest.php @@ -44,7 +44,6 @@ protected function setUp(): void $this->deploymentConfigMock = $this->createMock(DeploymentConfig::class); $this->model = new Syslog( - $this->scopeConfigMock, $this->deploymentConfigMock, 'Magento' ); diff --git a/lib/internal/Magento/Framework/Interception/ObjectManager/Config/Developer.php b/lib/internal/Magento/Framework/Interception/ObjectManager/Config/Developer.php index fac02b5d2614b..9d8d516b68fd4 100644 --- a/lib/internal/Magento/Framework/Interception/ObjectManager/Config/Developer.php +++ b/lib/internal/Magento/Framework/Interception/ObjectManager/Config/Developer.php @@ -58,8 +58,8 @@ public function setInterceptionConfig(\Magento\Framework\Interception\ConfigInte public function getInstanceType($instanceName) { $type = parent::getInstanceType($instanceName); - if ($this->interceptionConfig && $this->interceptionConfig->hasPlugins($instanceName) - && $this->interceptableValidator->validate($instanceName) + if ($this->interceptionConfig && $this->interceptionConfig->hasPlugins($type) + && $this->interceptableValidator->validate($type) ) { return $type . '\\Interceptor'; } diff --git a/lib/internal/Magento/Framework/Interception/Test/Unit/ObjectManager/Config/DeveloperTest.php b/lib/internal/Magento/Framework/Interception/Test/Unit/ObjectManager/Config/DeveloperTest.php index 75b520e94c70e..dd8dbe2f811dc 100644 --- a/lib/internal/Magento/Framework/Interception/Test/Unit/ObjectManager/Config/DeveloperTest.php +++ b/lib/internal/Magento/Framework/Interception/Test/Unit/ObjectManager/Config/DeveloperTest.php @@ -58,4 +58,23 @@ public function testGetOriginalInstanceTypeReturnsInterceptedClass() $this->assertEquals('SomeClass\Interceptor', $this->model->getInstanceType('SomeClass')); $this->assertEquals('SomeClass', $this->model->getOriginalInstanceType('SomeClass')); } + + /** + * Test correct instance type is returned when plugins are created for virtual type parents + * + * @return void + */ + public function testGetInstanceTypeWithPluginOnVirtualTypeParent() : void + { + $reflectionClass = new \ReflectionClass(get_class($this->model)); + $reflectionProperty = $reflectionClass->getProperty('_virtualTypes'); + $reflectionProperty->setAccessible(true); + $reflectionProperty->setValue($this->model, ['SomeVirtualClass' => 'SomeClass']); + + $this->interceptionConfig->expects($this->once())->method('hasPlugins')->with('SomeClass')->willReturn(true); + $this->model->setInterceptionConfig($this->interceptionConfig); + + $instanceType = $this->model->getInstanceType('SomeVirtualClass'); + $this->assertEquals('SomeClass\Interceptor', $instanceType); + } }