8 use \Magento\Framework\View\Layout\Argument\Interpreter\NamedParams;
24 $this->_interpreter = $this->getMockForAbstractClass(
25 \
Magento\Framework\
Data\Argument\InterpreterInterface::class
27 $this->_model =
new NamedParams($this->_interpreter);
33 'param' => [
'param1' => [
'value' =>
'value 1'],
'param2' => [
'value' =>
'value 2']],
36 $this->_interpreter->expects(
41 [
'value' =>
'value 1']
43 $this->returnValue(
'value 1 (evaluated)')
45 $this->_interpreter->expects(
50 [
'value' =>
'value 2']
52 $this->returnValue(
'value 2 (evaluated)')
54 $expected = [
'param1' =>
'value 1 (evaluated)',
'param2' =>
'value 2 (evaluated)'];
56 $actual = $this->_model->evaluate($input);
57 $this->assertSame($expected, $actual);
65 $this->expectException(
'\InvalidArgumentException');
66 $this->expectExceptionMessage($expectedExceptionMessage);
67 $this->_model->evaluate($input);
76 'root param is non-array' => [
77 [
'param' =>
'non-array'],
78 'Layout argument parameters are expected to be an array',
80 'individual param is non-array' => [
81 [
'param' => [
'sub-param' =>
'non-array']],
82 'Parameter data of layout argument is expected to be an array',
evaluateWrongParamDataProvider()
testEvaluateWrongParam($input, $expectedExceptionMessage)