converter = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( LayoutUpdateConverter::class ); } /** * @param string $value * @param string $expected * @dataProvider convertDataProvider */ public function testConvert($value, $expected) { $this->assertEquals($expected, $this->converter->convert($value)); } public function convertDataProvider() { // @codingStandardsIgnoreStart $beginning = 'show_pager0products_count10'; $serializedWidgetXml = 'conditions_encodeda:3:[i:1;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Combine`;s:10:`aggregator`;s:3:`all`;s:5:`value`;s:1:`1`;s:9:`new_child`;s:0:``;]s:4:`1--1`;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Product`;s:9:`attribute`;s:3:`sku`;s:8:`operator`;s:2:`()`;s:5:`value`;s:15:`simple, simple1`;]s:4:`1--2`;a:4:[s:4:`type`;s:50:`Magento|CatalogWidget|Model|Rule|Condition|Product`;s:9:`attribute`;s:5:`price`;s:8:`operator`;s:2:`<=`;s:5:`value`;s:2:`10`;]]'; $jsonEncodedWidgetXml = 'conditions_encoded^[`1`:^[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Combine`,`aggregator`:`all`,`value`:`1`,`new_child`:``^],`1--1`:^[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Product`,`attribute`:`sku`,`operator`:`()`,`value`:`simple, simple1`^],`1--2`:^[`type`:`Magento||CatalogWidget||Model||Rule||Condition||Product`,`attribute`:`price`,`operator`:`^(=`,`value`:`10`^]^]'; $ending = 'page_var_namepobqks'; // @codingStandardsIgnoreEnd return [ 'no widget' => [ $beginning . $ending, $beginning . $ending, ], 'has serialized widget' => [ $beginning . $serializedWidgetXml . $ending, $beginning . $jsonEncodedWidgetXml . $ending, ], 'has json encoded widget' => [ $beginning . $jsonEncodedWidgetXml . $ending, $beginning . $jsonEncodedWidgetXml . $ending, ], ]; } }