6
6
7
7
namespace Magento \FunctionalTestingFramework \StaticCheck ;
8
8
9
- use Magento \FunctionalTestingFramework \Config \MftfApplicationConfig ;
10
- use Magento \FunctionalTestingFramework \Exceptions \XmlException ;
11
9
use Magento \FunctionalTestingFramework \Test \Handlers \ActionGroupObjectHandler ;
12
10
use Magento \FunctionalTestingFramework \Test \Objects \ActionGroupObject ;
13
11
use Symfony \Component \Console \Input \InputInterface ;
14
- use Magento \FunctionalTestingFramework \Util \ModuleResolver ;
15
12
use Symfony \Component \Finder \Finder ;
16
13
use Exception ;
17
14
use Magento \FunctionalTestingFramework \Util \Script \ScriptUtil ;
22
19
*/
23
20
class ActionGroupArgumentsCheck implements StaticCheckInterface
24
21
{
25
-
26
22
const ACTIONGROUP_XML_REGEX_PATTERN = '/<actionGroup\sname=(?: (?!<\/actionGroup>).)*/mxs ' ;
27
23
const ACTIONGROUP_ARGUMENT_REGEX_PATTERN = '/<argument[^\/>]*name="([^" \']*)/mxs ' ;
28
24
const ACTIONGROUP_NAME_REGEX_PATTERN = '/<actionGroup name=[" \']([^ \'"]*)/ ' ;
@@ -42,6 +38,13 @@ class ActionGroupArgumentsCheck implements StaticCheckInterface
42
38
*/
43
39
private $ output ;
44
40
41
+ /**
42
+ * ScriptUtil instance
43
+ *
44
+ * @var ScriptUtil
45
+ */
46
+ private $ scriptUtil ;
47
+
45
48
/**
46
49
* Checks unused arguments in action groups and prints out error to file.
47
50
*
@@ -51,16 +54,17 @@ class ActionGroupArgumentsCheck implements StaticCheckInterface
51
54
*/
52
55
public function execute (InputInterface $ input )
53
56
{
54
- $ allModules = ScriptUtil::getAllModulePaths ();
57
+ $ this ->scriptUtil = new ScriptUtil ();
58
+ $ allModules = $ this ->scriptUtil ->getAllModulePaths ();
55
59
56
- $ actionGroupXmlFiles = ScriptUtil:: getModuleXmlFilesByScope (
60
+ $ actionGroupXmlFiles = $ this -> scriptUtil -> getModuleXmlFilesByScope (
57
61
$ allModules ,
58
62
DIRECTORY_SEPARATOR . 'ActionGroup ' . DIRECTORY_SEPARATOR
59
63
);
60
64
61
65
$ this ->errors = $ this ->findErrorsInFileSet ($ actionGroupXmlFiles );
62
66
63
- $ this ->output = ScriptUtil:: printErrorsToFile (
67
+ $ this ->output = $ this -> scriptUtil -> printErrorsToFile (
64
68
$ this ->errors ,
65
69
self ::ERROR_LOG_FILENAME ,
66
70
self ::ERROR_LOG_MESSAGE
@@ -132,10 +136,19 @@ private function findUnusedArguments($actionGroupXml)
132
136
133
137
preg_match_all (self ::ACTIONGROUP_ARGUMENT_REGEX_PATTERN , $ actionGroupXml , $ arguments );
134
138
preg_match (self ::ACTIONGROUP_NAME_REGEX_PATTERN , $ actionGroupXml , $ actionGroupName );
139
+ $ validActionGroup = false ;
135
140
try {
136
141
$ actionGroup = ActionGroupObjectHandler::getInstance ()->getObject ($ actionGroupName [1 ]);
137
- } catch (XmlException $ e ) {
142
+ if ($ actionGroup ) {
143
+ $ validActionGroup = true ;
144
+ }
145
+ } catch (Exception $ e ) {
146
+ }
147
+
148
+ if (!$ validActionGroup ) {
149
+ return $ unusedArguments ;
138
150
}
151
+
139
152
foreach ($ arguments [1 ] as $ argument ) {
140
153
//pattern to match all argument references
141
154
$ patterns = [
0 commit comments