ViewConfigFilesTest.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Test\Integrity\Modular;
  7. class ViewConfigFilesTest extends \PHPUnit\Framework\TestCase
  8. {
  9. /**
  10. * @param string $file
  11. * @dataProvider viewConfigFileDataProvider
  12. */
  13. public function testViewConfigFile($file)
  14. {
  15. $validationStateMock = $this->createMock(\Magento\Framework\Config\ValidationStateInterface::class);
  16. $validationStateMock->method('isValidationRequired')
  17. ->willReturn(true);
  18. $domConfig = new \Magento\Framework\Config\Dom($file, $validationStateMock);
  19. $urnResolver = new \Magento\Framework\Config\Dom\UrnResolver();
  20. $result = $domConfig->validate(
  21. $urnResolver->getRealPath('urn:magento:framework:Config/etc/view.xsd'),
  22. $errors
  23. );
  24. $message = "Invalid XML-file: {$file}\n";
  25. foreach ($errors as $error) {
  26. $message .= "{$error->message} Line: {$error->line}\n";
  27. }
  28. $this->assertTrue($result, $message);
  29. }
  30. /**
  31. * @return array
  32. */
  33. public function viewConfigFileDataProvider()
  34. {
  35. $result = [];
  36. $files = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
  37. \Magento\Framework\Module\Dir\Reader::class
  38. )->getConfigurationFiles(
  39. 'view.xml'
  40. );
  41. foreach ($files as $file) {
  42. $result[] = [$file];
  43. }
  44. return $result;
  45. }
  46. }