87 lines
2.1 KiB
PHP
Executable File
87 lines
2.1 KiB
PHP
Executable File
<?php declare(strict_types=1);
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
|
|
namespace Magento\Framework\Config;
|
|
|
|
/**
|
|
* Tests Magento\Framework\Config\Convert
|
|
*/
|
|
class ConverterTest extends \PHPUnit\Framework\TestCase
|
|
{
|
|
/**
|
|
* @var Converter
|
|
*/
|
|
private $converter;
|
|
|
|
/**
|
|
* Tests config value "false" is not interpreted as true.
|
|
*
|
|
* @param string $sourceString
|
|
* @param array $expected
|
|
* @dataProvider parseVarElementDataProvider
|
|
*/
|
|
public function testParseVarElement($sourceString, $expected)
|
|
{
|
|
$document = new \DOMDocument();
|
|
$document->loadXML($sourceString);
|
|
$actual = $this->converter->convert($document);
|
|
|
|
self::assertEquals(
|
|
$expected,
|
|
$actual
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Data provider for testParseVarElement.
|
|
*
|
|
* @return array
|
|
*/
|
|
public function parseVarElementDataProvider()
|
|
{
|
|
$sourceString = <<<'XML'
|
|
<?xml version="1.0"?>
|
|
<view xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:noNamespaceSchemaLocation="urn:magento:framework:Config/etc/view.xsd">
|
|
<vars module="Magento_Test">
|
|
<var name="str">some string</var>
|
|
<var name="int-1">1</var>
|
|
<var name="int-0">0</var>
|
|
<var name="bool-true">true</var>
|
|
<var name="bool-false">false</var>
|
|
</vars>
|
|
</view>
|
|
XML;
|
|
$expectedResult = [
|
|
'vars' => [
|
|
'Magento_Test' => [
|
|
'str' => 'some string',
|
|
'int-1' => '1',
|
|
'int-0' => '0',
|
|
'bool-true' => true,
|
|
'bool-false' => false
|
|
]
|
|
]
|
|
];
|
|
|
|
return [
|
|
[
|
|
$sourceString,
|
|
$expectedResult
|
|
],
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
protected function setUp(): void
|
|
{
|
|
$this->converter = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
|
|
->create(\Magento\Framework\Config\Converter::class);
|
|
}
|
|
}
|