@@ -83,7 +83,7 @@ public void banWithSwitchFlag() {
83
83
test (
84
84
"ban mqzen" ,
85
85
ResolvedArgsData .empty ()
86
- .arg ("player " , "mqzen" )
86
+ .arg ("target " , "mqzen" )
87
87
.flag ("silent" , false )
88
88
.flag ("ip" , false )
89
89
.arg ("duration" , null )
@@ -94,17 +94,17 @@ public void banWithSwitchFlag() {
94
94
test (
95
95
"ban mqzen -s" ,
96
96
ResolvedArgsData .empty ()
97
- .arg ("player " , "mqzen" )
97
+ .arg ("target " , "mqzen" )
98
98
.flag ("silent" , true )
99
- .arg ("duration" , null )
100
99
.flag ("ip" , false )
100
+ .arg ("duration" , null )
101
101
.arg ("reason" , "Breaking server laws" )
102
102
103
103
);
104
104
test (
105
105
"ban mqzen -s 1d" ,
106
106
ResolvedArgsData .empty ()
107
- .arg ("player " , "mqzen" )
107
+ .arg ("target " , "mqzen" )
108
108
.flag ("silent" , true )
109
109
.flag ("ip" , false )
110
110
.arg ("duration" , "1d" )
@@ -114,7 +114,7 @@ public void banWithSwitchFlag() {
114
114
test (
115
115
"ban mqzen -s 1d A disgrace to community" ,
116
116
ResolvedArgsData .empty ()
117
- .arg ("player " , "mqzen" )
117
+ .arg ("target " , "mqzen" )
118
118
.flag ("silent" , true )
119
119
.flag ("ip" , false )
120
120
.arg ("duration" , "1d" )
@@ -155,9 +155,20 @@ private ResolvedArgsData(ResolvedContext<TestSource> context) {
155
155
args .put (resolved .parameter ().name (), resolved .value ());
156
156
}
157
157
158
- for (var flag : context .getResolvedFlags ()) {
159
- String name = flag .flag ().name ();
160
- resolvedFlags .setData (flag .flag ().name (), context .getFlagValue (name ));
158
+ for (var param : context .getDetectedUsage ().getParameters ()) {
159
+ if (!param .isFlag ()) {
160
+ continue ;
161
+ }
162
+ var flagParam = param .asFlagParameter ();
163
+
164
+ String name = param .asFlagParameter ().flagData ().name ();
165
+
166
+ Object resolvedValue = context .getFlagValue (name );
167
+ if (resolvedValue == null && flagParam .isSwitch ()) {
168
+ resolvedValue = false ;
169
+ }
170
+
171
+ resolvedFlags .setData (name , resolvedValue );
161
172
}
162
173
}
163
174
@@ -181,14 +192,22 @@ public ResolvedArgsData flag(String paramName, Object inputValue) {
181
192
}
182
193
183
194
public boolean matches (ResolvedArgsData other ) {
195
+ System .out .println ("----------------" );
196
+ System .out .println ("Comparing THIS ARGS:" );
184
197
System .out .println (this .args );
198
+
199
+
200
+ System .out .println ("Comparing OTHER ARGS:" );
185
201
System .out .println (other .args );
202
+
203
+ System .out .println ("Comparing THIS FLAGS:" );
186
204
System .out .println (this .resolvedFlags .getMap ());
205
+
206
+ System .out .println ("Comparing OTHER FLAGS:" );
187
207
System .out .println (other .resolvedFlags .getMap ());
188
208
189
209
190
210
if (args .size () != other .args .size () || resolvedFlags .size () != other .resolvedFlags .size ()) {
191
-
192
211
return false ;
193
212
}
194
213
@@ -203,10 +222,12 @@ public boolean matches(ResolvedArgsData other) {
203
222
for (String flagKey : resolvedFlags .getKeys ()) {
204
223
Object flagValue = resolvedFlags .getData (flagKey ).orElse (null );
205
224
if (!other .resolvedFlags .getMap ().containsKey (flagKey )) {
225
+ System .out .println ("Flag mismatch: " + flagKey + "=" + flagValue + " != " + flagKey + "=null" );
206
226
return false ;
207
227
}
208
228
if (!Objects .equals (flagValue , other .resolvedFlags .getData (flagKey )
209
229
.orElse (null ))) {
230
+ System .out .println ("Flag mismatch: " + flagKey + "=" + flagValue + " != " + flagKey + "=" + other .resolvedFlags .getData (flagKey ).orElse (null ));
210
231
return false ;
211
232
}
212
233
}
0 commit comments