Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
XmlTest.php
Go to the documentation of this file.
1 <?php
9 
10 class XmlTest extends \PHPUnit\Framework\TestCase
11 {
13  protected $_restXmlRenderer;
14 
15  protected function setUp()
16  {
18  $xmlGenerator = new \Magento\Framework\Xml\Generator();
20  $this->_restXmlRenderer = new \Magento\Framework\Webapi\Rest\Response\Renderer\Xml($xmlGenerator);
21  parent::setUp();
22  }
23 
24  protected function tearDown()
25  {
26  unset($this->_restXmlRenderer);
27  parent::tearDown();
28  }
29 
35  public function testRender($dataToRender, $expectedXml, $message)
36  {
37  $actualXml = $this->_restXmlRenderer->render($dataToRender);
38  $this->assertXmlStringEqualsXmlString($expectedXml, $actualXml, $message);
39  }
40 
44  public function testGetMimeType()
45  {
46  $exceptedMimeType = 'application/xml';
47  $this->assertEquals($exceptedMimeType, $this->_restXmlRenderer->getMimeType(), 'Unexpected mime type.');
48  }
49 
55  public function providerXmlRender()
56  {
57  return [
58  // Each array consists of data to render, expected XML and assert message
59  [
60  ['value1', 'value2'],
61  '<?xml version="1.0"?><response><item>value1</item><item>value2</item></response>',
62  'Invalid XML render of unassociated array data.'
63  ],
64  [
65  ['key1' => 'value1', 'key2' => 'value2'],
66  '<?xml version="1.0"?><response><key1>value1</key1><key2>value2</key2></response>',
67  'Invalid XML render of associated array data.'
68  ],
69  [
70  (object)['key' => 'value'],
71  '<?xml version="1.0"?><response><key>value</key></response>',
72  'Invalid XML render of object data.'
73  ],
74  [
75  ['7key' => 'value'],
76  '<?xml version="1.0"?><response><item_7key>value</item_7key></response>',
77  'Invalid XML render with numeric symbol in data index.'
78  ],
79  [
80  ['.key' => 'value'],
81  '<?xml version="1.0"?><response><item_key>value</item_key></response>',
82  'Invalid XML render with "." symbol in data index.'
83  ],
84  [
85  ['-key' => 'value'],
86  '<?xml version="1.0"?><response><item_-key>value</item_-key></response>',
87  'Invalid XML render with "-" symbol in data index.'
88  ],
89  [
90  [' prefix key:' => 'value'],
91  '<?xml version="1.0"?><response><prefix_key>value</prefix_key></response>',
92  'Invalid XML render with data key trimming.'
93  ],
94  [
95  'data',
96  '<?xml version="1.0"?><response>data</response>',
97  'Invalid XML render with simple data.'
98  ],
99  [
100  new \Magento\Framework\DataObject(['key' => 'value']),
101  '<?xml version="1.0"?><response><key>value</key></response>',
102  'Invalid XML render with \Magento\Framework\DataObject data.'
103  ]
104  ];
105  }
106 }
$message
testRender($dataToRender, $expectedXml, $message)
Definition: XmlTest.php:35