magento2-docker/dev/tests/integration/testsuite/Magento/Test/Integrity/Modular/ViewConfigFilesTest.php

49 lines
1.5 KiB
PHP
Executable File

<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Test\Integrity\Modular;
class ViewConfigFilesTest extends \PHPUnit\Framework\TestCase
{
/**
* @param string $file
* @dataProvider viewConfigFileDataProvider
*/
public function testViewConfigFile($file)
{
$validationStateMock = $this->createMock(\Magento\Framework\Config\ValidationStateInterface::class);
$validationStateMock->method('isValidationRequired')
->willReturn(true);
$domConfig = new \Magento\Framework\Config\Dom($file, $validationStateMock);
$urnResolver = new \Magento\Framework\Config\Dom\UrnResolver();
$result = $domConfig->validate(
$urnResolver->getRealPath('urn:magento:framework:Config/etc/view.xsd'),
$errors
);
$message = "Invalid XML-file: {$file}\n";
foreach ($errors as $error) {
$message .= "{$error->message} Line: {$error->line}\n";
}
$this->assertTrue($result, $message);
}
/**
* @return array
*/
public function viewConfigFileDataProvider()
{
$result = [];
$files = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
\Magento\Framework\Module\Dir\Reader::class
)->getConfigurationFiles(
'view.xml'
);
foreach ($files as $file) {
$result[] = [$file];
}
return $result;
}
}