Skip to content

Commit 9490049

Browse files
authored
Merge pull request #42 from magento-l3/MC-37476
MC-37476: "Magento\PageBuilder\Plugin\Filter\TemplatePlugin" mismatching strict type
2 parents 8020fb9 + 31f29eb commit 9490049

File tree

2 files changed

+65
-6
lines changed

2 files changed

+65
-6
lines changed

app/code/Magento/PageBuilder/Plugin/Filter/TemplatePlugin.php

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77

88
namespace Magento\PageBuilder\Plugin\Filter;
99

10+
use Magento\PageBuilder\Model\Filter\Template as TemplateFilter;
11+
use Magento\Framework\Filter\Template as FrameworkTemplateFilter;
12+
1013
/**
1114
* Plugin to the template filter to process any background images added by Page Builder
1215
*/
@@ -17,30 +20,30 @@ class TemplatePlugin
1720
const HTML_CONTENT_TYPE_PATTERN = '/data-content-type="html"/si';
1821

1922
/**
20-
* @var \Magento\PageBuilder\Model\Filter\Template
23+
* @var TemplateFilter
2124
*/
2225
private $templateFilter;
2326

2427
/**
25-
* @param \Magento\PageBuilder\Model\Filter\Template $templateFilter
28+
* @param TemplateFilter $templateFilter
2629
*/
2730
public function __construct(
28-
\Magento\PageBuilder\Model\Filter\Template $templateFilter
31+
TemplateFilter $templateFilter
2932
) {
3033
$this->templateFilter = $templateFilter;
3134
}
3235

3336
/**
3437
* After filter of template data apply transformations
3538
*
36-
* @param \Magento\Framework\Filter\Template $subject
39+
* @param FrameworkTemplateFilter $subject
3740
* @param string $result
3841
*
3942
* @return string
4043
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
4144
*/
42-
public function afterFilter(\Magento\Framework\Filter\Template $subject, string $result) : string
45+
public function afterFilter(FrameworkTemplateFilter $subject, $result)
4346
{
44-
return $this->templateFilter->filter($result);
47+
return $this->templateFilter->filter((string) $result);
4548
}
4649
}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\PageBuilder\Test\Unit\Plugin\Filter;
9+
10+
use Magento\PageBuilder\Model\Filter\Template as TemplateFilter;
11+
use Magento\Framework\Filter\Template as FrameworkTemplateFilter;
12+
use Magento\PageBuilder\Plugin\Filter\TemplatePlugin;
13+
use PHPUnit\Framework\MockObject\MockObject;
14+
use PHPUnit\Framework\TestCase;
15+
16+
/**
17+
* Test for page builder template filter plugin
18+
*/
19+
class TemplatePluginTest extends TestCase
20+
{
21+
/**
22+
* @var FrameworkTemplateFilter|MockObject
23+
*/
24+
private $frameworkTemplateFilter;
25+
26+
/**
27+
* @var TemplateFilter|MockObject
28+
*/
29+
private $templateFilter;
30+
31+
/**
32+
* @var TemplatePlugin
33+
*/
34+
private $templatePlugin;
35+
36+
/**
37+
* @inheritDoc
38+
*/
39+
protected function setUp(): void
40+
{
41+
parent::setUp();
42+
$this->frameworkTemplateFilter = $this->createMock(FrameworkTemplateFilter::class);
43+
$this->templateFilter = $this->createMock(TemplateFilter::class);
44+
$this->templatePlugin = new TemplatePlugin($this->templateFilter);
45+
}
46+
47+
public function testAfterFilter(): void
48+
{
49+
$result = null;
50+
$this->templateFilter->expects($this->once())
51+
->method('filter')
52+
->with('')
53+
->willReturn('');
54+
$this->assertSame('', $this->templatePlugin->afterFilter($this->frameworkTemplateFilter, $result));
55+
}
56+
}

0 commit comments

Comments
 (0)