Description: This test scenario validates the specialEffects.repeatedTabSelection.scrollToTop
property on tab routes. It verifies that re-tapping an already-active
tab scrolls a scrollable screen back to the top when the property is enabled, and
that there is no scroll-to-top behavior when it is disabled or absent.
OS test creation version: iOS: 18.4 and 26.2, Android: 16.0 (Baklava).
Yes: Covers all manual scenario steps.
- iOS device or simulator
- Android emulator
Tab1 has scrollToTop: true, Tab2 has scrollToTop: false, and Tab3 has no
specialEffects configured (default behavior). All three tabs display a scrollable
list of 50 items.
- Launch the app and navigate to the screen Tabs special effect scroll to top.
- Expected: Three tabs (Tab1, Tab2, Tab3) are visible in the tab bar. Tab1 is active and displays a scrollable list of items.
- Scroll down several items in Tab1.
- Expected: The list scrolls down; items above the fold are no longer visible.
- Re-tap Tab1 (the already-active tab).
- Expected: The list animates back to the top of the scroll position (item 1 is visible).
- Tap Tab2.
- Expected: Tab2 becomes active and displays a scrollable list of items.
- Scroll down several items in Tab2.
- Expected: The list scrolls down; items above the fold are no longer visible.
- Re-tap Tab2 (the already-active tab).
- Expected: The list does not scroll back to the top; scroll position is preserved.
- Tap Tab3.
- Expected: Tab3 becomes active and displays a scrollable list of items.
- Scroll down several items in Tab3.
- Expected: The list scrolls down; items above the fold are no longer visible.
- Re-tap Tab3 (the already-active tab).
- Expected: Observe and note the default behavior - back to the top of the scroll position (item 1 is visible).
- Tap Tab1 and scroll down several items.
- Expected: Tab1 becomes active. The list scrolls down; items above the fold are no longer visible.
- Tap Tab3 to switch away from Tab1.
- Expected: Tab3 becomes active and displays its scrollable list.
- Tap Tab1 again.
- Expected: Tab1 becomes active and the scroll position is preserved - the list does not scroll back to the top.