@@ -609,16 +609,36 @@ test('runtime gesture swipe presets use stable viewport lanes', async () => {
609609 session : 'default' ,
610610 } ) ;
611611
612- assert . deepEqual ( pageSwipe . from , { x : 90 , y : 65 } ) ;
613- assert . deepEqual ( pageSwipe . to , { x : 10 , y : 65 } ) ;
612+ assert . deepEqual ( pageSwipe . from , { x : 85 , y : 65 } ) ;
613+ assert . deepEqual ( pageSwipe . to , { x : 15 , y : 65 } ) ;
614614 assert . deepEqual ( edgeSwipe . from , { x : 8 , y : 50 } ) ;
615615 assert . deepEqual ( edgeSwipe . to , { x : 85 , y : 50 } ) ;
616616 assert . deepEqual ( calls , [
617- { from : { x : 90 , y : 65 } , to : { x : 10 , y : 65 } , durationMs : 300 } ,
617+ { from : { x : 85 , y : 65 } , to : { x : 15 , y : 65 } , durationMs : 300 } ,
618618 { from : { x : 8 , y : 50 } , to : { x : 85 , y : 50 } , durationMs : 350 } ,
619619 ] ) ;
620620} ) ;
621621
622+ test ( 'runtime iOS in-page swipe presets avoid edge-navigation lanes' , async ( ) => {
623+ const calls : unknown [ ] = [ ] ;
624+ const device = createInteractionDevice ( snapshotWithOffscreenContent ( ) , {
625+ platform : 'ios' ,
626+ swipe : async ( _context , from , to , options ) => {
627+ calls . push ( { from, to, durationMs : options ?. durationMs } ) ;
628+ } ,
629+ } ) ;
630+
631+ const pageSwipe = await device . interactions . swipe ( {
632+ preset : 'right' ,
633+ durationMs : 300 ,
634+ session : 'default' ,
635+ } ) ;
636+
637+ assert . deepEqual ( pageSwipe . from , { x : 15 , y : 65 } ) ;
638+ assert . deepEqual ( pageSwipe . to , { x : 85 , y : 65 } ) ;
639+ assert . deepEqual ( calls , [ { from : { x : 15 , y : 65 } , to : { x : 85 , y : 65 } , durationMs : 300 } ] ) ;
640+ } ) ;
641+
622642test ( 'runtime viewport gestures reject inspect-only macOS surfaces' , async ( ) => {
623643 for ( const surface of [ 'desktop' , 'menubar' ] as const ) {
624644 const device = createInteractionDevice ( selectorSnapshot ( ) , {
0 commit comments