Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
XmlScannerTest.php
Go to the documentation of this file.
1 <?php
8 
9 class XmlScannerTest extends \PHPUnit\Framework\TestCase
10 {
14  protected $_model;
15 
19  protected $_logMock;
20 
24  protected $_testFiles = [];
25 
26  protected function setUp()
27  {
28  $this->_model = new \Magento\Setup\Module\Di\Code\Scanner\XmlScanner(
29  $this->_logMock = $this->createMock(\Magento\Setup\Module\Di\Compiler\Log\Log::class)
30  );
31  $testDir = __DIR__ . '/../../' . '/_files';
32  $this->_testFiles = [
33  $testDir . '/app/code/Magento/SomeModule/etc/adminhtml/system.xml',
34  $testDir . '/app/code/Magento/SomeModule/etc/di.xml',
35  $testDir . '/app/code/Magento/SomeModule/view/frontend/default.xml',
36  ];
37  }
38 
39  public function testCollectEntities()
40  {
41  $className = 'Magento\Store\Model\Config\Invalidator\Proxy';
42  $this->_logMock->expects(
43  $this->at(0)
44  )->method(
45  'add'
46  )->with(
47  4,
48  $className,
49  'Invalid proxy class for ' . substr($className, 0, -5)
50  );
51  $this->_logMock->expects(
52  $this->at(1)
53  )->method(
54  'add'
55  )->with(
56  4,
57  '\Magento\SomeModule\Model\Element\Proxy',
58  'Invalid proxy class for ' . substr('\Magento\SomeModule\Model\Element\Proxy', 0, -5)
59  );
60  $this->_logMock->expects(
61  $this->at(2)
62  )->method(
63  'add'
64  )->with(
65  4,
66  '\Magento\SomeModule\Model\Nested\Element\Proxy',
67  'Invalid proxy class for ' . substr('\Magento\SomeModule\Model\Nested\Element\Proxy', 0, -5)
68  );
69  $actual = $this->_model->collectEntities($this->_testFiles);
70  $expected = [];
71  $this->assertEquals($expected, $actual);
72  }
73 }
defined('TESTS_BP')||define('TESTS_BP' __DIR__
Definition: _bootstrap.php:60
if($currentSelectedMethod==$_code) $className
Definition: form.phtml:31