24 private $_moduleListMock;
28 $this->_fileSource = $this->getMockForAbstractClass(\
Magento\Framework\View\
File\CollectorInterface::class);
29 $this->_moduleListMock = $this->createMock(\
Magento\Framework\Module\ModuleListInterface::class);
30 $this->_moduleListMock->expects($this->any())
32 ->will($this->returnValue([
'Fixture_ModuleB',
'Fixture_ModuleA']));
33 $this->_model = new \Magento\Framework\View\File\Collector\Decorator\ModuleDependency(
35 $this->_moduleListMock
47 $theme = $this->getMockForAbstractClass(\
Magento\Framework\View\Design\ThemeInterface::class);
49 ->expects($this->once())
52 ->will($this->returnValue($fixtureFiles));
53 $this->assertSame($expectedFiles, $this->_model->getFiles(
$theme,
'*.xml'),
$message);
61 $fileOne = new \Magento\Framework\View\File(
'b.xml',
'Fixture_ModuleB');
62 $fileTwo = new \Magento\Framework\View\File(
'a.xml',
'Fixture_ModuleA');
63 $fileThree = new \Magento\Framework\View\File(
'b.xml',
'Fixture_ModuleA');
65 $unknownFileOne = new \Magento\Framework\View\File(
'b.xml',
'Unknown_ModuleA');
66 $unknownFileTwo = new \Magento\Framework\View\File(
'a.xml',
'Unknown_ModuleB');
69 [$fileThree, $fileTwo],
70 [$fileTwo, $fileThree],
71 'Files belonging to the same module are expected to be sorted by file names',
73 'different modules' => [
76 'Files belonging to different modules are expected to be sorted by module dependencies',
78 'different unknown modules' => [
79 [$unknownFileTwo, $unknownFileOne],
80 [$unknownFileOne, $unknownFileTwo],
81 'Files belonging to different unknown modules are expected to be sorted by module names',
83 'known and unknown modules' => [
84 [$fileTwo, $unknownFileOne],
85 [$unknownFileOne, $fileTwo],
86 'Files belonging to unknown modules are expected to go before ones of known modules',
testGetFiles(array $fixtureFiles, array $expectedFiles, $message)