49 lines
1.5 KiB
PHP
Executable File
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;
|
|
}
|
|
}
|