ConverterTest.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php declare(strict_types=1);
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Config;
  7. /**
  8. * Tests Magento\Framework\Config\Convert
  9. */
  10. class ConverterTest extends \PHPUnit\Framework\TestCase
  11. {
  12. /**
  13. * @var Converter
  14. */
  15. private $converter;
  16. /**
  17. * Tests config value "false" is not interpreted as true.
  18. *
  19. * @param string $sourceString
  20. * @param array $expected
  21. * @dataProvider parseVarElementDataProvider
  22. */
  23. public function testParseVarElement($sourceString, $expected)
  24. {
  25. $document = new \DOMDocument();
  26. $document->loadXML($sourceString);
  27. $actual = $this->converter->convert($document);
  28. self::assertEquals(
  29. $expected,
  30. $actual
  31. );
  32. }
  33. /**
  34. * Data provider for testParseVarElement.
  35. *
  36. * @return array
  37. */
  38. public function parseVarElementDataProvider()
  39. {
  40. $sourceString = <<<'XML'
  41. <?xml version="1.0"?>
  42. <view xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  43. xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/view.xsd">
  44. <vars module="Magento_Test">
  45. <var name="str">some string</var>
  46. <var name="int-1">1</var>
  47. <var name="int-0">0</var>
  48. <var name="bool-true">true</var>
  49. <var name="bool-false">false</var>
  50. </vars>
  51. </view>
  52. XML;
  53. $expectedResult = [
  54. 'vars' => [
  55. 'Magento_Test' => [
  56. 'str' => 'some string',
  57. 'int-1' => '1',
  58. 'int-0' => '0',
  59. 'bool-true' => true,
  60. 'bool-false' => false
  61. ]
  62. ]
  63. ];
  64. return [
  65. [
  66. $sourceString,
  67. $expectedResult
  68. ],
  69. ];
  70. }
  71. /**
  72. * @inheritdoc
  73. */
  74. protected function setUp()
  75. {
  76. $this->converter = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
  77. ->create(\Magento\Framework\Config\Converter::class);
  78. }
  79. }