Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ContentConverterTest.php
Go to the documentation of this file.
1 <?php
6 namespace Magento\Cms\Setup;
7 
9 {
11  private $converter;
12 
13  protected function setUp()
14  {
16  \Magento\Cms\Setup\ContentConverter::class
17  );
18  }
19 
25  public function testConvert($value, $expected)
26  {
27  $this->assertEquals($expected, $this->converter->convert($value));
28  }
29 
30  public function convertDataProvider()
31  {
32  // @codingStandardsIgnoreStart
33  $someContent = '<div class="content-heading">
34  <h2 class="title">Hot Sellers</h2>
35  <p class="info">Here is what`s trending on Luma right now</p>
36 </div>';
37  $serializedWidgetContent = '{{widget type="Magento\\CatalogWidget\\Block\\Product\\ProductsList" products_per_page="8" products_count="8" template="Magento_CatalogWidget::product/widget/content/grid.phtml" conditions_encoded="a:2:[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`;a:8:[i:0;s:4:`WS12`;i:1;s:4:`WT09`;i:2;s:4:`MT07`;i:3;s:4:`MH07`;i:4;s:7:`24-MB02`;i:5;s:7:`24-WB04`;i:6;s:8:`241-MB08`;i:7;s:8:`240-LV05`;]]]"}}';
38  $jsonEncodedWidgetContent = '{{widget type="Magento\\CatalogWidget\\Block\\Product\\ProductsList" products_per_page="8" products_count="8" template="Magento_CatalogWidget::product/widget/content/grid.phtml" 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`:[`WS12`,`WT09`,`MT07`,`MH07`,`24-MB02`,`24-WB04`,`241-MB08`,`240-LV05`]^]^]"}}';
39  // @codingStandardsIgnoreEnd
40  return [
41  'no widget' => [
42  $someContent,
43  $someContent,
44  ],
45  'one serialized widget, end with widget' => [
46  $someContent . $serializedWidgetContent,
47  $someContent . $jsonEncodedWidgetContent,
48  ],
49  'two serialized widgets, end with widget' => [
50  $someContent . $serializedWidgetContent . $someContent . $serializedWidgetContent,
51  $someContent . $jsonEncodedWidgetContent . $someContent . $jsonEncodedWidgetContent,
52  ],
53  'one serialized widget, end with content other than widget' => [
54  $someContent . $serializedWidgetContent . $someContent,
55  $someContent . $jsonEncodedWidgetContent . $someContent,
56  ],
57  'one json encoded widget, end with widget' => [
58  $someContent . $jsonEncodedWidgetContent,
59  $someContent . $jsonEncodedWidgetContent,
60  ],
61  'two json encoded widgets, end with widget' => [
62  $someContent . $jsonEncodedWidgetContent . $someContent . $jsonEncodedWidgetContent,
63  $someContent . $jsonEncodedWidgetContent . $someContent . $jsonEncodedWidgetContent,
64  ],
65  'one json encoded widget, one serialized widget, end with widget' => [
66  $someContent . $jsonEncodedWidgetContent . $someContent . $serializedWidgetContent,
67  $someContent . $jsonEncodedWidgetContent . $someContent . $jsonEncodedWidgetContent,
68  ],
69  'one json encoded widget, end with content other than widget' => [
70  $someContent . $jsonEncodedWidgetContent . $someContent,
71  $someContent . $jsonEncodedWidgetContent . $someContent,
72  ],
73  ];
74  }
75 }
$value
Definition: gender.phtml:16