@@ -28,6 +28,18 @@ test("parseArguments returns prompt after --prompt", async () => {
2828 assert . equal ( r . prompt , "hello world" ) ;
2929} ) ;
3030
31+ test ( "parseArguments returns prompt from positional query" , async ( ) => {
32+ const r = await parseArguments ( [ "hello world" ] ) ;
33+ assert . ok ( ! ( "message" in r ) ) ;
34+ assert . equal ( r . prompt , "hello world" ) ;
35+ } ) ;
36+
37+ test ( "parseArguments joins multi-word positional query" , async ( ) => {
38+ const r = await parseArguments ( [ "hello" , "world" ] ) ;
39+ assert . ok ( ! ( "message" in r ) ) ;
40+ assert . equal ( r . prompt , "hello world" ) ;
41+ } ) ;
42+
3143test ( "parseArguments returns undefined prompt when -p is not present" , async ( ) => {
3244 const r = await parseArguments ( [ "--resume" ] ) ;
3345 assert . ok ( ! ( "message" in r ) ) ;
@@ -140,6 +152,13 @@ test("parseArguments handles -p before --resume <id>", async () => {
140152 assert . equal ( r . prompt , "hello" ) ;
141153} ) ;
142154
155+ test ( "parseArguments handles --resume <id> combined with positional query" , async ( ) => {
156+ const r = await parseArguments ( [ "--resume" , "0a5cb7a5-c39d-4c39-a11b-05f8b22b8df6" , "hello" , "again" ] ) ;
157+ assert . ok ( ! ( "message" in r ) ) ;
158+ assert . equal ( r . resume , "0a5cb7a5-c39d-4c39-a11b-05f8b22b8df6" ) ;
159+ assert . equal ( r . prompt , "hello again" ) ;
160+ } ) ;
161+
143162test ( "parseArguments --version takes precedence over --help" , async ( ) => {
144163 const r = await parseArguments ( [ "--version" , "--help" ] ) ;
145164 assert . ok ( ! ( "message" in r ) ) ;
@@ -199,6 +218,17 @@ test("parseArguments exits on empty -p value", async () => {
199218 } ) ;
200219} ) ;
201220
221+ test ( "parseArguments exits when positional query is combined with -p" , async ( ) => {
222+ await withMockedExit ( async ( exitSpy ) => {
223+ try {
224+ await parseArguments ( [ "hello" , "-p" , "world" ] ) ;
225+ } catch {
226+ /* expected */
227+ }
228+ assert . ok ( exitSpy . calls . length >= 1 ) ;
229+ } ) ;
230+ } ) ;
231+
202232test ( "parseArguments exits on invalid --resume session ID" , async ( ) => {
203233 await withMockedExit ( async ( exitSpy ) => {
204234 try {
0 commit comments