24 '/config/routers' =>
'id',
25 '/config/routers/route' =>
'id',
26 '/config/routers/route/module' =>
'name',
45 $this->validationStateMock = $this->createMock(\
Magento\Framework\
Config\ValidationStateInterface::class);
46 $this->validationStateMock->method(
'isValidationRequired')
48 $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver();
49 $this->schemaFile = $urnResolver->getRealPath(
'urn:magento:framework:App/etc/routes.xsd');
50 $this->mergedSchemaFile = $urnResolver->getRealPath(
'urn:magento:framework:App/etc/routes_merged.xsd');
60 $mask = $moduleDir .
'/etc/*/routes.xml';
63 $mergedConfig = new \Magento\Framework\Config\Dom(
64 '<config><router/></config>',
65 $this->validationStateMock,
69 foreach (
$files as $file) {
72 new \Magento\Framework\Config\Dom(
74 $this->validationStateMock,
82 }
catch (\
Magento\Framework\
Config\Dom\ValidationException $e) {
83 $invalidFiles[] = $file;
87 if (!empty($invalidFiles)) {
88 $this->fail(
'Found broken files: ' . implode(
"\n", $invalidFiles));
93 $mergedConfig->validate($this->mergedSchemaFile,
$errors);
94 }
catch (\Exception $e) {
95 $this->fail(
'Merged routes config is invalid: ' .
"\n" . implode(
"\n",
$errors));
testRouteConfigsValidation()
foreach($appDirs as $dir) $files