76 lines
2.2 KiB
PHP
Executable File
76 lines
2.2 KiB
PHP
Executable File
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
|
|
namespace Magento\Ui\Config;
|
|
|
|
use Magento\Framework\Config\FileIterator;
|
|
use Magento\Framework\Filesystem\DriverPool;
|
|
use Magento\Framework\Filesystem\File\ReadFactory;
|
|
use Magento\Framework\Module\Dir;
|
|
|
|
class FileResolverStub implements \Magento\Framework\Config\FileResolverInterface
|
|
{
|
|
/**
|
|
* @var array
|
|
*/
|
|
private $files = [
|
|
'etc/definition.xml' => [
|
|
'module_one/ui_component/etc/test_definition.xml',
|
|
'module_two/ui_component/etc/test_definition.xml'
|
|
],
|
|
'etc/definition.map.xml' => [
|
|
'ui_component/etc/definition.map.xml'
|
|
],
|
|
'etc/test_definition.xml' => [
|
|
'module_one/ui_component/etc/test_definition.xml',
|
|
'module_two/ui_component/etc/test_definition.xml'
|
|
],
|
|
'test_component.xml' => [
|
|
'module_one/ui_component/test_component.xml',
|
|
'module_two/ui_component/test_component.xml'
|
|
],
|
|
'parent_component.xml' => [
|
|
'module_one/ui_component/parent_component.xml',
|
|
'module_two/ui_component/parent_component.xml'
|
|
]
|
|
];
|
|
|
|
/**
|
|
* @var Dir\Reader
|
|
*/
|
|
private $moduleReader;
|
|
|
|
/**
|
|
* FileResolverStub constructor.
|
|
*
|
|
* @param \Magento\Framework\Module\Dir\Reader $moduleReader
|
|
* @param array $files
|
|
*/
|
|
public function __construct(\Magento\Framework\Module\Dir\Reader $moduleReader, array $files = [])
|
|
{
|
|
$this->files = array_replace($this->files, $files);
|
|
$this->moduleReader = $moduleReader;
|
|
}
|
|
|
|
/**
|
|
* {@inheritdoc}
|
|
*/
|
|
public function get($filename, $scope)
|
|
{
|
|
if ($filename == 'etc/definition.map.xml') {
|
|
$path = $this->moduleReader->getModuleDir(Dir::MODULE_VIEW_DIR, 'Magento_Ui') . '/base';
|
|
} else {
|
|
$path = realpath(__DIR__ . '/../_files/view');
|
|
}
|
|
$files = isset($this->files[$filename]) ? $this->files[$filename] : [];
|
|
$realPaths = [];
|
|
foreach ($files as $filePath) {
|
|
$realPaths[] = $path . '/' . $filePath;
|
|
}
|
|
return new FileIterator(new ReadFactory(new DriverPool), $realPaths);
|
|
}
|
|
}
|