@@ -140,16 +140,23 @@ public function testVarDirective($construction, $variables, $expectedResult)
140
140
141
141
public function varDirectiveDataProvider ()
142
142
{
143
- /* @var $stub \Magento\Framework\DataObject|\PHPUnit_Framework_MockObject_MockObject */
144
- $ stub = $ this ->getMockBuilder (\Magento \Framework \DataObject::class)
143
+ /* @var $dataObjectVariable \Magento\Framework\DataObject|\PHPUnit_Framework_MockObject_MockObject */
144
+ $ dataObjectVariable = $ this ->getMockBuilder (\Magento \Framework \DataObject::class)
145
145
->disableOriginalConstructor ()
146
146
->disableProxyingToOriginalMethods ()
147
147
->setMethods (['bar ' ])
148
148
->getMock ();
149
-
150
- $ stub ->expects ($ this ->once ())
149
+ $ dataObjectVariable ->expects ($ this ->once ())
151
150
->method ('bar ' )
152
- ->willReturn ('Mocked Method Return ' );
151
+ ->willReturn ('DataObject Method Return ' );
152
+
153
+ /* @var $nonDataObjectVariable \Magento\Framework\Escaper|\PHPUnit_Framework_MockObject_MockObject */
154
+ $ nonDataObjectVariable = $ this ->getMockBuilder (\Magento \Framework \Escaper::class)
155
+ ->disableOriginalConstructor ()
156
+ ->getMock ();
157
+ $ nonDataObjectVariable ->expects ($ this ->once ())
158
+ ->method ('escapeHtml ' )
159
+ ->willReturnArgument (0 );
153
160
154
161
return [
155
162
'no variables ' => [
@@ -170,12 +177,28 @@ public function varDirectiveDataProvider()
170
177
'array argument to method ' => [
171
178
'{{var foo.bar([param_1:value_1, param_2:$value_2, param_3:[a:$b, c:$d]])}} ' ,
172
179
[
173
- 'foo ' => $ stub ,
180
+ 'foo ' => $ dataObjectVariable ,
174
181
'value_2 ' => 'lorem ' ,
175
182
'b ' => 'bee ' ,
176
183
'd ' => 'dee ' ,
177
184
],
178
- 'Mocked Method Return '
185
+ 'DataObject Method Return '
186
+ ],
187
+ 'non DataObject method call ' => [
188
+ '{{var foo.escapeHtml($value)}} ' ,
189
+ [
190
+ 'foo ' => $ nonDataObjectVariable ,
191
+ 'value ' => 'lorem '
192
+ ],
193
+ 'lorem '
194
+ ],
195
+ 'non DataObject undefined method call ' => [
196
+ '{{var foo.undefinedMethod($value)}} ' ,
197
+ [
198
+ 'foo ' => $ nonDataObjectVariable ,
199
+ 'value ' => 'lorem '
200
+ ],
201
+ ''
179
202
],
180
203
];
181
204
}
0 commit comments