File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import { describe , expect , it } from "vitest" ;
2+ import { takeCliRootOptionValue } from "./root-option-value.js" ;
3+
4+ describe ( "takeCliRootOptionValue" , ( ) => {
5+ it ( "preserves equals signs after the first separator" , ( ) => {
6+ expect ( takeCliRootOptionValue ( "--token=abc=def" , undefined ) ) . toEqual ( {
7+ value : "abc=def" ,
8+ consumedNext : false ,
9+ } ) ;
10+ expect ( takeCliRootOptionValue ( "--token=abc==" , undefined ) ) . toEqual ( {
11+ value : "abc==" ,
12+ consumedNext : false ,
13+ } ) ;
14+ } ) ;
15+
16+ it ( "treats empty inline values as missing" , ( ) => {
17+ expect ( takeCliRootOptionValue ( "--token=" , "fallback" ) ) . toEqual ( {
18+ value : null ,
19+ consumedNext : false ,
20+ } ) ;
21+ } ) ;
22+
23+ it ( "continues to consume the next token for space-separated values" , ( ) => {
24+ expect ( takeCliRootOptionValue ( "--token" , "abc=def" ) ) . toEqual ( {
25+ value : "abc=def" ,
26+ consumedNext : true ,
27+ } ) ;
28+ } ) ;
29+ } ) ;
Original file line number Diff line number Diff line change @@ -8,7 +8,7 @@ export function takeCliRootOptionValue(
88 consumedNext : boolean ;
99} {
1010 if ( raw . includes ( "=" ) ) {
11- const [ , value ] = raw . split ( "=" , 2 ) ;
11+ const value = raw . slice ( raw . indexOf ( "=" ) + 1 ) ;
1212 const trimmed = ( value ?? "" ) . trim ( ) ;
1313 return { value : trimmed || null , consumedNext : false } ;
1414 }
You can’t perform that action at this time.
0 commit comments