OptionsTest.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Ui\Test\Unit\Config\Converter;
  7. use Magento\Ui\Config\Converter\Options;
  8. use Magento\Ui\Config\ConverterUtils;
  9. class OptionsTest extends \PHPUnit\Framework\TestCase
  10. {
  11. /**
  12. * @var Options
  13. */
  14. private $converter;
  15. /**
  16. * @var \DOMXPath
  17. */
  18. private $domXpath;
  19. public function setUp()
  20. {
  21. $dom = new \DOMDocument('1.0', 'UTF-8');
  22. $dom->load(dirname(__FILE__) . DIRECTORY_SEPARATOR . '_files/test.xml');
  23. $this->domXpath = new \DOMXPath($dom);
  24. $this->converter = new Options(new ConverterUtils());
  25. }
  26. /**
  27. * @param array $expectedResult
  28. * @param string $xpath
  29. * @return void
  30. * @dataProvider convertDataProvider
  31. */
  32. public function testConvert(array $expectedResult, $xpath)
  33. {
  34. $node = $this->domXpath->query($xpath)->item(0);
  35. $res = $this->converter->convert($node);
  36. $this->assertEquals($expectedResult, $res);
  37. }
  38. /**
  39. * @return array
  40. */
  41. public function convertDataProvider()
  42. {
  43. return [
  44. [
  45. [
  46. 'name' => 'options',
  47. 'xsi:type' => 'array',
  48. 'item' => [
  49. 'anySimpleType' => [
  50. 'xsi:type' => 'boolean',
  51. 'name' => 'anySimpleType',
  52. 'value' => 'true',
  53. ],
  54. ],
  55. ],
  56. '//listing/columns/column/settings/options[1]'
  57. ],
  58. [
  59. [
  60. 'value' => 'Magento\Test\OptionsProvider',
  61. 'name' => 'options',
  62. 'xsi:type' => 'object'
  63. ],
  64. '//listing/columns/column/settings/options[2]'
  65. ],
  66. ];
  67. }
  68. }