@@ -17,15 +17,14 @@ describe('Non-linear POP Forward Navigation', () => {
1717
1818 // Browser back - this is a non-linear POP because settings route has no pushedByRoute.
1919 // The else branch should push the current location key onto forwardStack.
20- cy . go ( 'back ') ;
20+ cy . ionGoBack ( '/routing/tabs/home/details/1 ') ;
2121 cy . ionPageVisible ( 'home-details-page-1' ) ;
2222 cy . get ( 'ion-tab-button.tab-selected' ) . contains ( 'Home' ) ;
2323
2424 // Browser forward - should be detected as forward navigation via forwardStack.
2525 // Without the fix, forwardStack is empty so this falls into the wrong branch
2626 // (else-if, treating it as back navigation with wrong animation).
27- cy . go ( 'forward' ) ;
28- cy . wait ( 500 ) ;
27+ cy . ionGoForward ( '/routing/tabs/settings' ) ;
2928 cy . ionPageVisible ( 'settings-page' ) ;
3029 cy . get ( 'ion-tab-button.tab-selected' ) . contains ( 'Settings' ) ;
3130 } ) ;
@@ -43,27 +42,25 @@ describe('Non-linear POP Forward Navigation', () => {
4342 cy . ionPageVisible ( 'settings-page' ) ;
4443
4544 // Browser back (non-linear POP)
46- cy . go ( 'back ') ;
45+ cy . ionGoBack ( '/routing/tabs/home/details/1 ') ;
4746 cy . ionPageVisible ( 'home-details-page-1' ) ;
4847
4948 // Browser forward
50- cy . go ( 'forward' ) ;
51- cy . wait ( 500 ) ;
49+ cy . ionGoForward ( '/routing/tabs/settings' ) ;
5250 cy . ionPageVisible ( 'settings-page' ) ;
5351
5452 // Browser back again - without the fix, the forward stack is corrupted from
5553 // the previous misclassification, causing this back to be treated as forward.
56- cy . go ( 'back ') ;
54+ cy . ionGoBack ( '/routing/tabs/home/details/1 ') ;
5755 cy . ionPageVisible ( 'home-details-page-1' ) ;
5856 cy . get ( 'ion-tab-button.tab-selected' ) . contains ( 'Home' ) ;
5957
6058 // One more forward/back cycle to verify stack integrity
61- cy . go ( 'forward' ) ;
62- cy . wait ( 500 ) ;
59+ cy . ionGoForward ( '/routing/tabs/settings' ) ;
6360 cy . ionPageVisible ( 'settings-page' ) ;
6461 cy . get ( 'ion-tab-button.tab-selected' ) . contains ( 'Settings' ) ;
6562
66- cy . go ( 'back ') ;
63+ cy . ionGoBack ( '/routing/tabs/home/details/1 ') ;
6764 cy . ionPageVisible ( 'home-details-page-1' ) ;
6865 cy . get ( 'ion-tab-button.tab-selected' ) . contains ( 'Home' ) ;
6966 } ) ;
@@ -81,22 +78,21 @@ describe('Non-linear POP Forward Navigation', () => {
8178 cy . ionPageVisible ( 'settings-page' ) ;
8279
8380 // Browser back (non-linear POP)
84- cy . go ( 'back ') ;
81+ cy . ionGoBack ( '/routing/tabs/home/details/1 ') ;
8582 cy . ionPageVisible ( 'home-details-page-1' ) ;
8683
8784 // Browser forward to Settings
88- cy . go ( 'forward' ) ;
89- cy . wait ( 500 ) ;
85+ cy . ionGoForward ( '/routing/tabs/settings' ) ;
9086 cy . ionPageVisible ( 'settings-page' ) ;
9187
9288 // Browser back to D1
93- cy . go ( 'back ') ;
89+ cy . ionGoBack ( '/routing/tabs/home/details/1 ') ;
9490 cy . ionPageVisible ( 'home-details-page-1' ) ;
9591
9692 // Browser back to Home. The D1 route lost its pushedByRoute when it was
9793 // recreated via a non-linear POP, so this back also goes through the
9894 // non-linear else branch.
99- cy . go ( 'back ') ;
95+ cy . ionGoBack ( '/routing/tabs/home ') ;
10096 cy . ionPageVisible ( 'home-page' ) ;
10197 cy . contains ( '[data-pageid=home-page]' , '"routeAction":"pop"' ) ;
10298 cy . contains ( '[data-pageid=home-page]' , '"pathname":"/routing/tabs/home"' ) ;
0 commit comments