1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?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;
}
}