1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Framework\Module\Test\Unit\Dir;
- class ReverseResolverTest extends \PHPUnit\Framework\TestCase
- {
- /**
- * @var \Magento\Framework\Module\Dir\ReverseResolver
- */
- protected $_model;
- /**
- * @var \Magento\Framework\Module\ModuleListInterface|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $_moduleList;
- /**
- * @var \Magento\Framework\Module\Dir|\PHPUnit_Framework_MockObject_MockObject
- */
- protected $_moduleDirs;
- protected function setUp()
- {
- $this->_moduleList = $this->createMock(\Magento\Framework\Module\ModuleListInterface::class);
- $this->_moduleDirs = $this->createMock(\Magento\Framework\Module\Dir::class);
- $this->_model = new \Magento\Framework\Module\Dir\ReverseResolver($this->_moduleList, $this->_moduleDirs);
- }
- /**
- * @param string $path
- * @param string $expectedResult
- * @dataProvider getModuleNameDataProvider
- */
- public function testGetModuleName($path, $expectedResult)
- {
- $this->_moduleList->expects($this->once())->method('getNames')->will(
- $this->returnValue(['Fixture_ModuleOne', 'Fixture_ModuleTwo'])
- );
- $this->_moduleDirs->expects(
- $this->atLeastOnce()
- )->method(
- 'getDir'
- )->will(
- $this->returnValueMap(
- [
- ['Fixture_ModuleOne', '', 'app/code/Fixture/ModuleOne'],
- ['Fixture_ModuleTwo', '', 'app/code/Fixture/ModuleTwo'],
- ]
- )
- );
- $this->assertSame($expectedResult, $this->_model->getModuleName($path));
- }
- /**
- * @return array
- */
- public function getModuleNameDataProvider()
- {
- return [
- 'module root dir' => ['app/code/Fixture/ModuleOne', 'Fixture_ModuleOne'],
- 'module root dir trailing slash' => ['app/code/Fixture/ModuleOne/', 'Fixture_ModuleOne'],
- 'module root dir backward slash' => ['app/code\\Fixture\\ModuleOne', 'Fixture_ModuleOne'],
- 'dir in module' => ['app/code/Fixture/ModuleTwo/etc', 'Fixture_ModuleTwo'],
- 'dir in module trailing slash' => ['app/code/Fixture/ModuleTwo/etc/', 'Fixture_ModuleTwo'],
- 'dir in module backward slash' => ['app/code/Fixture/ModuleTwo\\etc', 'Fixture_ModuleTwo'],
- 'file in module' => ['app/code/Fixture/ModuleOne/etc/config.xml', 'Fixture_ModuleOne'],
- 'file in module backward slash' => [
- 'app\\code\\Fixture\\ModuleOne\\etc\\config.xml',
- 'Fixture_ModuleOne',
- ],
- 'unknown module' => ['app/code/Unknown/Module', null]
- ];
- }
- }
|