UrlTest.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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\Url;
  8. use Magento\Ui\Config\ConverterUtils;
  9. class UrlTest extends \PHPUnit\Framework\TestCase
  10. {
  11. /**
  12. * @var Url
  13. */
  14. private $converter;
  15. public function setUp()
  16. {
  17. $this->converter = new Url(new ConverterUtils());
  18. }
  19. public function testConvertUrl()
  20. {
  21. $expectedResult = [
  22. 'name' => 'url',
  23. 'xsi:type' => 'url',
  24. 'path' => 'some_url',
  25. 'param' => [
  26. 'first' => [
  27. 'name' => 'first',
  28. 'value' => 'first_value',
  29. ],
  30. 'second'=> [
  31. 'name' => 'second',
  32. 'value' => 'second_value',
  33. ],
  34. ],
  35. ];
  36. $dom = new \DOMDocument('1.0', 'UTF-8');
  37. $dom->load(dirname(__FILE__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'test.xml');
  38. $domXpath = new \DOMXPath($dom);
  39. $url = $domXpath->query('//listing/settings/buttons/button[@name="button_2"]/url')->item(0);
  40. $this->assertEquals($expectedResult, $this->converter->convert($url));
  41. }
  42. public function testConvertUrlWithoutParams()
  43. {
  44. $expectedResult = [
  45. 'name' => 'path',
  46. 'xsi:type' => 'url',
  47. 'path' => 'path',
  48. ];
  49. $dom = new \DOMDocument('1.0', 'UTF-8');
  50. $dom->load(dirname(__FILE__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'test.xml');
  51. $domXpath = new \DOMXPath($dom);
  52. $url = $domXpath->query('//listing/settings/storageConfig/path')->item(0);
  53. $this->assertEquals($expectedResult, $this->converter->convert($url));
  54. }
  55. }