@@ -2240,19 +2240,32 @@ This is a test agent that handles various tasks.
22402240 describe ( "parseCliFlags" , ( ) => {
22412241 it ( "should return all false flags for empty argv" , ( ) => {
22422242 const result = parseCliFlags ( [ ] )
2243- expect ( result ) . toEqual ( { dryRun : false , verbose : false , quiet : false , help : false } )
2243+ expect ( result ) . toEqual ( {
2244+ dryRun : false ,
2245+ verbose : false ,
2246+ quiet : false ,
2247+ force : false ,
2248+ help : false ,
2249+ } )
22442250 } )
22452251
22462252 it ( "should return all false flags for argv without flags" , ( ) => {
22472253 const result = parseCliFlags ( [ "node" , "script.js" ] )
2248- expect ( result ) . toEqual ( { dryRun : false , verbose : false , quiet : false , help : false } )
2254+ expect ( result ) . toEqual ( {
2255+ dryRun : false ,
2256+ verbose : false ,
2257+ quiet : false ,
2258+ force : false ,
2259+ help : false ,
2260+ } )
22492261 } )
22502262
22512263 it ( "should detect --dry-run flag" , ( ) => {
22522264 const result = parseCliFlags ( [ "node" , "script.js" , "--dry-run" ] )
22532265 expect ( result . dryRun ) . toBe ( true )
22542266 expect ( result . verbose ) . toBe ( false )
22552267 expect ( result . quiet ) . toBe ( false )
2268+ expect ( result . force ) . toBe ( false )
22562269 expect ( result . help ) . toBe ( false )
22572270 } )
22582271
@@ -2261,6 +2274,7 @@ This is a test agent that handles various tasks.
22612274 expect ( result . dryRun ) . toBe ( false )
22622275 expect ( result . verbose ) . toBe ( true )
22632276 expect ( result . quiet ) . toBe ( false )
2277+ expect ( result . force ) . toBe ( false )
22642278 expect ( result . help ) . toBe ( false )
22652279 } )
22662280
@@ -2269,6 +2283,16 @@ This is a test agent that handles various tasks.
22692283 expect ( result . dryRun ) . toBe ( false )
22702284 expect ( result . verbose ) . toBe ( false )
22712285 expect ( result . quiet ) . toBe ( true )
2286+ expect ( result . force ) . toBe ( false )
2287+ expect ( result . help ) . toBe ( false )
2288+ } )
2289+
2290+ it ( "should detect --force flag" , ( ) => {
2291+ const result = parseCliFlags ( [ "node" , "script.js" , "--force" ] )
2292+ expect ( result . dryRun ) . toBe ( false )
2293+ expect ( result . verbose ) . toBe ( false )
2294+ expect ( result . quiet ) . toBe ( false )
2295+ expect ( result . force ) . toBe ( true )
22722296 expect ( result . help ) . toBe ( false )
22732297 } )
22742298
@@ -2277,6 +2301,7 @@ This is a test agent that handles various tasks.
22772301 expect ( result . dryRun ) . toBe ( false )
22782302 expect ( result . verbose ) . toBe ( false )
22792303 expect ( result . quiet ) . toBe ( false )
2304+ expect ( result . force ) . toBe ( false )
22802305 expect ( result . help ) . toBe ( true )
22812306 } )
22822307
@@ -2285,6 +2310,16 @@ This is a test agent that handles various tasks.
22852310 expect ( result . dryRun ) . toBe ( true )
22862311 expect ( result . verbose ) . toBe ( true )
22872312 expect ( result . quiet ) . toBe ( false )
2313+ expect ( result . force ) . toBe ( false )
2314+ expect ( result . help ) . toBe ( false )
2315+ } )
2316+
2317+ it ( "should detect --force with other flags" , ( ) => {
2318+ const result = parseCliFlags ( [ "node" , "script.js" , "--force" , "--verbose" ] )
2319+ expect ( result . dryRun ) . toBe ( false )
2320+ expect ( result . verbose ) . toBe ( true )
2321+ expect ( result . quiet ) . toBe ( false )
2322+ expect ( result . force ) . toBe ( true )
22882323 expect ( result . help ) . toBe ( false )
22892324 } )
22902325
@@ -2295,14 +2330,21 @@ This is a test agent that handles various tasks.
22952330 "--dry-run" ,
22962331 "--verbose" ,
22972332 "--quiet" ,
2333+ "--force" ,
22982334 "--help" ,
22992335 ] )
2300- expect ( result ) . toEqual ( { dryRun : true , verbose : true , quiet : true , help : true } )
2336+ expect ( result ) . toEqual ( { dryRun : true , verbose : true , quiet : true , force : true , help : true } )
23012337 } )
23022338
23032339 it ( "should ignore unknown flags" , ( ) => {
23042340 const result = parseCliFlags ( [ "node" , "script.js" , "--unknown" , "--other" ] )
2305- expect ( result ) . toEqual ( { dryRun : false , verbose : false , quiet : false , help : false } )
2341+ expect ( result ) . toEqual ( {
2342+ dryRun : false ,
2343+ verbose : false ,
2344+ quiet : false ,
2345+ force : false ,
2346+ help : false ,
2347+ } )
23062348 } )
23072349
23082350 it ( "should handle flags in any position" , ( ) => {
@@ -2313,8 +2355,9 @@ This is a test agent that handles various tasks.
23132355 "script.js" ,
23142356 "--help" ,
23152357 "--quiet" ,
2358+ "--force" ,
23162359 ] )
2317- expect ( result ) . toEqual ( { dryRun : true , verbose : true , quiet : true , help : true } )
2360+ expect ( result ) . toEqual ( { dryRun : true , verbose : true , quiet : true , force : true , help : true } )
23182361 } )
23192362
23202363 it ( "should not match partial flag names" , ( ) => {
@@ -2324,10 +2367,12 @@ This is a test agent that handles various tasks.
23242367 "--dry-run-test" ,
23252368 "--verbosity" ,
23262369 "--quietly" ,
2370+ "--forceful" ,
23272371 ] )
23282372 expect ( result . dryRun ) . toBe ( false )
23292373 expect ( result . verbose ) . toBe ( false )
23302374 expect ( result . quiet ) . toBe ( false )
2375+ expect ( result . force ) . toBe ( false )
23312376 } )
23322377
23332378 it ( "should throw TypeError for null input" , ( ) => {
0 commit comments