PlaceholderTest.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Store\Test\Unit\Model\Config;
  7. use Magento\Store\Model\Store;
  8. class PlaceholderTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * @var \Magento\Store\Model\Config\Processor\Placeholder
  12. */
  13. protected $_model;
  14. /**
  15. * @var \PHPUnit_Framework_MockObject_MockObject
  16. */
  17. protected $_requestMock;
  18. protected function setUp()
  19. {
  20. $this->_requestMock = $this->createMock(\Magento\Framework\App\Request\Http::class);
  21. $this->_requestMock->expects(
  22. $this->once()
  23. )->method(
  24. 'getDistroBaseUrl'
  25. )->will(
  26. $this->returnValue('http://localhost/')
  27. );
  28. $this->_model = new \Magento\Store\Model\Config\Placeholder(
  29. $this->_requestMock,
  30. [
  31. 'unsecureBaseUrl' => Store::XML_PATH_UNSECURE_BASE_URL,
  32. 'secureBaseUrl' => Store::XML_PATH_SECURE_BASE_URL
  33. ],
  34. \Magento\Store\Model\Store::BASE_URL_PLACEHOLDER
  35. );
  36. }
  37. public function testProcess()
  38. {
  39. $data = [
  40. 'web' => [
  41. 'unsecure' => [
  42. 'base_url' => 'http://localhost/',
  43. 'base_link_url' => '{{unsecure_base_url}}website/de',
  44. ],
  45. 'secure' => [
  46. 'base_url' => 'https://localhost/',
  47. 'base_link_url' => '{{secure_base_url}}website/de',
  48. ],
  49. ],
  50. 'path' => 'value',
  51. 'some_url' => '{{base_url}}some',
  52. ];
  53. $expectedResult = $data;
  54. $expectedResult['web']['unsecure']['base_link_url'] = 'http://localhost/website/de';
  55. $expectedResult['web']['secure']['base_link_url'] = 'https://localhost/website/de';
  56. $expectedResult['some_url'] = 'http://localhost/some';
  57. $this->assertEquals($expectedResult, $this->_model->process($data));
  58. }
  59. }