@@ -22,6 +22,11 @@ class DeclarativeDependencyTest extends \PHPUnit\Framework\TestCase
22
22
*/
23
23
private $ dependencyProvider ;
24
24
25
+ /**
26
+ * @var array
27
+ */
28
+ private $ blacklistedDependencies = [];
29
+
25
30
/**
26
31
* Sets up data
27
32
*
@@ -45,6 +50,14 @@ protected function setUp()
45
50
*/
46
51
public function testUndeclaredDependencies ()
47
52
{
53
+ /** TODO: Remove this temporary solution after MC-15534 is closed */
54
+ $ filePattern = __DIR__ . '/_files/dependency_test/blacklisted_dependencies_*.php ' ;
55
+ $ blacklistedDependencies = [];
56
+ foreach (glob ($ filePattern ) as $ fileName ) {
57
+ $ blacklistedDependencies = array_merge ($ blacklistedDependencies , require $ fileName );
58
+ }
59
+ $ this ->blacklistedDependencies = $ blacklistedDependencies ;
60
+
48
61
$ invoker = new \Magento \Framework \App \Utility \AggregateInvoker ($ this );
49
62
$ invoker (
50
63
/**
@@ -71,7 +84,9 @@ function ($file) {
71
84
$ result = [];
72
85
foreach ($ undeclaredDependency as $ name => $ modules ) {
73
86
$ modules = array_unique ($ modules );
74
- $ result [] = $ this ->getErrorMessage ($ name ) . "\n" . implode ("\t\n" , $ modules );
87
+ if ($ this ->filterBlacklistedDependencies ($ foundModuleName , $ modules )) {
88
+ $ result [] = $ this ->getErrorMessage ($ name ) . "\n" . implode ("\t\n" , $ modules );
89
+ }
75
90
}
76
91
if (count ($ result )) {
77
92
$ this ->fail (
@@ -83,6 +98,24 @@ function ($file) {
83
98
);
84
99
}
85
100
101
+ /**
102
+ * Filter blacklisted dependencies.
103
+ *
104
+ * @todo Remove this temporary solution after MC-15534 is closed
105
+ *
106
+ * @param string $moduleName
107
+ * @param array $dependencies
108
+ * @return array
109
+ */
110
+ private function filterBlacklistedDependencies (string $ moduleName , array $ dependencies ): array
111
+ {
112
+ if (!empty ($ this ->blacklistedDependencies [$ moduleName ])) {
113
+ $ dependencies = array_diff ($ dependencies , $ this ->blacklistedDependencies [$ moduleName ]);
114
+ }
115
+
116
+ return $ dependencies ;
117
+ }
118
+
86
119
/**
87
120
* Convert file list to data provider structure.
88
121
*
0 commit comments