@@ -154,6 +154,13 @@ class DependencyTest extends \PHPUnit\Framework\TestCase
154
154
*/
155
155
private static $ routesWhitelist = null ;
156
156
157
+ /**
158
+ * Redundant dependencies whitelist
159
+ *
160
+ * @var array|null
161
+ */
162
+ private static $ redundantDependenciesWhitelist = null ;
163
+
157
164
/**
158
165
* @var RouteMapper
159
166
*/
@@ -185,6 +192,7 @@ public static function setUpBeforeClass()
185
192
self ::_prepareMapLayoutHandles ();
186
193
187
194
self ::getLibraryWhiteLists ();
195
+ self ::getRedundantDependenciesWhiteLists ();
188
196
189
197
self ::_initDependencies ();
190
198
self ::_initThemes ();
@@ -206,6 +214,26 @@ private static function getLibraryWhiteLists()
206
214
}
207
215
}
208
216
217
+ /**
218
+ * Initialize redundant dependencies whitelist
219
+ *
220
+ * @return array
221
+ */
222
+ private static function getRedundantDependenciesWhiteLists (): array
223
+ {
224
+ if (is_null (self ::$ redundantDependenciesWhitelist )) {
225
+ $ redundantDependenciesWhitelistFilePattern =
226
+ realpath (__DIR__ ) . '/_files/dependency_test/whitelist/redundant_dependencies_*.php ' ;
227
+ $ redundantDependenciesWhitelist = [];
228
+ foreach (glob ($ redundantDependenciesWhitelistFilePattern ) as $ fileName ) {
229
+ //phpcs:ignore Magento2.Performance.ForeachArrayMerge
230
+ $ redundantDependenciesWhitelist = array_merge ($ redundantDependenciesWhitelist , include $ fileName );
231
+ }
232
+ self ::$ redundantDependenciesWhitelist = $ redundantDependenciesWhitelist ;
233
+ }
234
+ return self ::$ redundantDependenciesWhitelist ;
235
+ }
236
+
209
237
/**
210
238
* Initialize default themes
211
239
*/
@@ -532,6 +560,9 @@ public function testRedundant()
532
560
foreach (array_keys (self ::$ mapDependencies ) as $ module ) {
533
561
$ result = [];
534
562
$ redundant = $ this ->_getDependencies ($ module , self ::TYPE_HARD , self ::MAP_TYPE_REDUNDANT );
563
+ if (isset (self ::$ redundantDependenciesWhitelist [$ module ])) {
564
+ $ redundant = array_diff ($ redundant , self ::$ redundantDependenciesWhitelist [$ module ]);
565
+ }
535
566
if (!empty ($ redundant )) {
536
567
$ result [] = sprintf (
537
568
"\r\nModule %s: %s [%s] " ,
0 commit comments