/
githubmirror
/
magento2
Обзор
Документация
Войти
/
githubmirror
/
magento2
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
2.4-develop
dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/AbstractMergedConfigTest.php
75 строк
2 KB
Alexandra Zota
ACP2E-4019: CE copyright updates for 2.4.9-beta1
22 окт 2025, 10:44
22 окт 2025, 10:44
264bea2
Код
Авторство
О чём код?
<?php /** * Copyright 2015 Adobe * All Rights Reserved. */ namespace Magento\Test\Integrity\Modular; /** * AbstractMergedConfigTest can be used to test merging of config files */ abstract class AbstractMergedConfigTest extends \PHPUnit\Framework\TestCase { /** * attributes represent merging rules * copied from original namespace Magento\Framework\App\Route\Config; * * class Reader * * @returns array */ abstract protected function getIdAttributes(); /** * Path to tough XSD for merged file validation * * @returns string */ abstract protected function getMergedSchemaFile(); /** * Returns an array of config files to test * * @return array */ abstract protected function getConfigFiles(); public function testMergedConfigFiles() { $invalidFiles = []; $files = $this->getConfigFiles(); $validationStateMock = $this->createMock(\Magento\Framework\Config\ValidationStateInterface::class); $validationStateMock->method('isValidationRequired') ->willReturn(false); $mergedConfig = new \Magento\Framework\Config\Dom( '<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"></config>', $validationStateMock, $this->getIdAttributes() ); foreach ($files as $file) { $content = file_get_contents($file[0]); try { $validationStateMock = $this->createMock(\Magento\Framework\Config\ValidationStateInterface::class); $validationStateMock->method('isValidationRequired') ->willReturn(true); new \Magento\Framework\Config\Dom($content, $validationStateMock, $this->getIdAttributes()); //merge won't be performed if file is invalid because of exception thrown $mergedConfig->merge($content); } catch (\Magento\Framework\Config\Dom\ValidationException $e) { $invalidFiles[] = $file[0]; } } if (!empty($invalidFiles)) { $this->fail('Found broken files: ' . implode("\n", $invalidFiles)); } $errors = []; $mergedConfig->validate($this->getMergedSchemaFile(), $errors); if ($errors) { $this->fail('Merged routes config is invalid: ' . "\n" . implode("\n", $errors)); } } }