コード例 #1
0
 public function testCreateConfigurationGeneratesConfiguration()
 {
     $dom = new \DOMDocument();
     $dom->loadXML(preg_replace('/\\n|\\s{4}/', '', file_get_contents(__DIR__ . '/_files/convertedConfiguration.xml')));
     $stripComments = new \DOMXPath($dom);
     foreach ($stripComments->query('//comment()') as $comment) {
         $comment->parentNode->removeChild($comment);
     }
     $dom->formatOutput = true;
     $dom->preserveWhiteSpace = false;
     $expectedXml = $dom->saveXML();
     $this->_fileManagerMock->expects($this->once())->method('write')->with($this->stringContains('system.xml'), $expectedXml);
     $this->_formatterMock->expects($this->once())->method('parseString')->will($this->returnCallback(function ($xml) {
         $dom = new \DOMDocument();
         $dom->loadXML($xml);
         $dom->preserveWhiteSpace = false;
         $dom->formatOutput = true;
         return $dom->saveXML();
     }));
     $this->_loggerMock->expects($this->once())->method('add')->with('someFile', \Magento\Tools\Migration\System\Configuration\AbstractLogger::FILE_KEY_INVALID);
     $this->_model->createConfiguration('someFile', include __DIR__ . '/_files/mappedConfiguration.php');
 }
コード例 #2
0
use Magento\Tools\Migration\System\Configuration\Mapper\Tab;
use Magento\Tools\Migration\System\Configuration\Parser;
use Magento\Tools\Migration\System\Configuration\Reader;
use Magento\Tools\Migration\System\FileManager;
use Magento\Tools\Migration\System\Writer\Factory;
$rootDir = realpath(__DIR__ . '../../../../../../');
require __DIR__ . '/../../../../../app/autoload.php';
\Magento\Framework\Filesystem\FileResolver::addIncludePath([$rootDir . '/lib', $rootDir . '/dev']);
$defaultReportFile = 'report.log';
try {
    $options = new \Zend_Console_Getopt(['mode|w' => "Application mode.  Preview mode is default. If set to 'write' - file system is updated", 'output|f-w' => "Report output type. Report is flushed to console by default." . "If set to 'file', report is written to file /log/report.log"]);
    $writerFactory = new Factory();
    $fileManager = new FileManager(new \Magento\Tools\Migration\System\FileReader(), $writerFactory->getWriter($options->getOption('mode')));
    $loggerFactory = new Logger\Factory();
    $logger = $loggerFactory->getLogger($options->getOption('output'), $defaultReportFile, $fileManager);
    $generator = new Generator(new Formatter(), $fileManager, $logger);
    $fieldMapper = new Field();
    $groupMapper = new Group($fieldMapper);
    $sectionMapper = new Section($groupMapper);
    $tabMapper = new Tab();
    $mapper = new Mapper($tabMapper, $sectionMapper);
    $parser = new Parser();
    $reader = new Reader($fileManager, $parser, $mapper);
    foreach ($reader->getConfiguration() as $file => $config) {
        $generator->createConfiguration($file, $config);
        $fileManager->remove($file);
    }
    $logger->report();
} catch (\Zend_Console_Getopt_Exception $e) {
    echo $e->getUsageMessage();
    exit;