19 $this->validationStateMock = $this->createMock(\
Magento\Framework\
Config\ValidationStateInterface::class);
20 $this->validationStateMock->method(
'isValidationRequired')
30 $domConfig = new \Magento\Framework\Config\Dom(
32 $this->validationStateMock
35 $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver();
37 $urnResolver->getRealPath(
'urn:magento:framework:Config/etc/view.xsd'),
40 $this->assertTrue(
$result,
"Invalid XML-file: {$file}\n" . join(
"\n",
$errors));
46 public function viewConfigFileDataProvider()
51 ->get(\
Magento\Framework\Component\DirSearch::class);
53 foreach (
$files as $file) {
54 $result[substr($file, strlen(
BP))] = [$file];
65 $this->assertFileExists($themeDir .
'/theme.xml');
71 public function themeConfigFileExistsDataProvider()
76 ->get(\
Magento\Framework\Component\ComponentRegistrar::class);
78 $result[substr($themeDir, strlen(
BP))] = [$themeDir];
89 $domConfig = new \Magento\Framework\Config\Dom(
file_get_contents($file), $this->validationStateMock);
91 $result = $domConfig->validate(
'urn:magento:framework:Config/etc/theme.xsd',
$errors);
92 $this->assertTrue(
$result,
"Invalid XML-file: {$file}\n" . join(
"\n",
$errors));
101 public function testThemeConfigFileHasSingleTheme($file)
104 $configXml = simplexml_load_file($file);
105 $actualThemes = $configXml->xpath(
'/theme');
106 $this->assertCount(1, $actualThemes,
'Single theme declaration is expected.');
112 public function themeConfigFileDataProvider()
117 ->get(\
Magento\Framework\Component\DirSearch::class);
119 foreach (
$files as $file) {
120 $result[substr($file, strlen(
BP))] = [$file];
testViewConfigFile($file)
testThemeConfigFileSchema($file)
foreach($appDirs as $dir) $files
static getObjectManager()
testThemeConfigFileExists($themeDir)