HostCheckerTest.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Url\Test\Unit;
  7. use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
  8. class HostCheckerTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /** @var \Magento\Framework\Url\HostChecker */
  11. private $object;
  12. /** @var \Magento\Framework\Url\ScopeResolverInterface|\PHPUnit_Framework_MockObject_MockObject */
  13. private $scopeResolver;
  14. /**
  15. * @inheritdoc
  16. */
  17. protected function setUp()
  18. {
  19. $this->scopeResolver = $this->getMockBuilder(
  20. \Magento\Framework\Url\ScopeResolverInterface::class
  21. )->getMock();
  22. $objectManager = new ObjectManager($this);
  23. $this->object = $objectManager->getObject(
  24. \Magento\Framework\Url\HostChecker::class,
  25. [
  26. 'scopeResolver' => $this->scopeResolver
  27. ]
  28. );
  29. }
  30. /**
  31. * @dataProvider isOwnOriginDataProvider
  32. * @param string $url
  33. * @param boolean $result
  34. */
  35. public function testIsOwnOrigin($url, $result)
  36. {
  37. $scopes[0] = $this->getMockBuilder(\Magento\Framework\Url\ScopeInterface::class)->getMock();
  38. $scopes[0]->expects($this->any())->method('getBaseUrl')->willReturn('http://www.example.com');
  39. $scopes[1] = $this->getMockBuilder(\Magento\Framework\Url\ScopeInterface::class)->getMock();
  40. $scopes[1]->expects($this->any())->method('getBaseUrl')->willReturn('https://www.example2.com');
  41. $this->scopeResolver->expects($this->atLeastOnce())->method('getScopes')->willReturn($scopes);
  42. $this->assertEquals($result, $this->object->isOwnOrigin($url));
  43. }
  44. /**
  45. * @return array
  46. */
  47. public function isOwnOriginDataProvider()
  48. {
  49. return [
  50. ['http://www.example.com/some/page/', true],
  51. ['http://www.test.com/other/page/', false],
  52. ];
  53. }
  54. }