Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 15 additions & 15 deletions packages/rn-tester/.maestro/flatlist-append-maintainvisible.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,58 +8,58 @@ appId: ${APP_ID}
- waitForAnimationToEnd:
timeout: 3000
# Find test
- assertVisible: "Components"
- assertVisible: 'Components'
- scrollUntilVisible:
element:
id: "FlatList"
id: 'FlatList'
direction: DOWN
speed: 40
- tapOn:
id: "FlatList"
id: 'FlatList'
- scrollUntilVisible:
element:
id: "maintainVisibleContentPosition"
id: 'maintainVisibleContentPosition'
direction: DOWN
speed: 40
- tapOn:
id: "maintainVisibleContentPosition"
id: 'maintainVisibleContentPosition'
# Scroll to offset 500
- tapOn:
text: "ScrollToOffset 500"
text: 'ScrollToOffset 500'
- waitForAnimationToEnd:
timeout: 2000
# Append item (should NOT affect scroll offset)
- copyTextFrom:
id: "scroll-offset-display"
id: 'scroll-offset-display'
- evalScript: ${output.offsetBefore = parseInt(maestro.copiedText.split(":")[1].trim())}
- tapOn:
text: "Add 1 item at bottom"
text: 'Add 1 item at bottom'
- waitForAnimationToEnd:
timeout: 2000
- copyTextFrom:
id: "scroll-offset-display"
id: 'scroll-offset-display'
- evalScript: ${output.offsetAfter = parseInt(maestro.copiedText.split(":")[1].trim())}
- assertTrue: ${output.offsetAfter - output.offsetBefore >= -5 && output.offsetAfter - output.offsetBefore <= 5}
# Multiple appends
- copyTextFrom:
id: "scroll-offset-display"
id: 'scroll-offset-display'
- evalScript: ${output.offsetBefore = parseInt(maestro.copiedText.split(":")[1].trim())}
- tapOn:
text: "Add 1 item at bottom"
text: 'Add 1 item at bottom'
- waitForAnimationToEnd:
timeout: 2000
- copyTextFrom:
id: "scroll-offset-display"
id: 'scroll-offset-display'
- evalScript: ${output.offsetAfter = parseInt(maestro.copiedText.split(":")[1].trim())}
- assertTrue: ${output.offsetAfter - output.offsetBefore >= -5 && output.offsetAfter - output.offsetBefore <= 5}
- copyTextFrom:
id: "scroll-offset-display"
id: 'scroll-offset-display'
- evalScript: ${output.offsetBefore = parseInt(maestro.copiedText.split(":")[1].trim())}
- tapOn:
text: "Reset"
text: 'Reset'
- waitForAnimationToEnd:
timeout: 2000
- copyTextFrom:
id: "scroll-offset-display"
id: 'scroll-offset-display'
- evalScript: ${output.offsetAfter = parseInt(maestro.copiedText.split(":")[1].trim())}
- assertTrue: ${output.offsetAfter >= 0 && output.offsetAfter <= 50}
Original file line number Diff line number Diff line change
Expand Up @@ -6,44 +6,44 @@ appId: ${APP_ID}
- setOrientation: portrait
- waitForAnimationToEnd:
timeout: 3000
- assertVisible: "Components"
- assertVisible: 'Components'
- scrollUntilVisible:
element:
id: "FlatList"
id: 'FlatList'
direction: DOWN
speed: 40
- tapOn:
id: "FlatList"
id: 'FlatList'
- scrollUntilVisible:
element:
id: "maintainVisibleContentPosition"
id: 'maintainVisibleContentPosition'
direction: DOWN
speed: 40
- tapOn:
id: "maintainVisibleContentPosition"
id: 'maintainVisibleContentPosition'
# Scroll to offset 200
- tapOn:
text: "ScrollToOffset 100"
text: 'ScrollToOffset 100'
- waitForAnimationToEnd:
timeout: 2000
# Record offset before mutations
- copyTextFrom:
id: "scroll-offset-display"
id: 'scroll-offset-display'
- evalScript: ${output.offsetBefore = parseInt(maestro.copiedText.split(":")[1].trim())}
# Add items at top and bottom (simulates complex mutations)
- tapOn:
text: "Add 1 item at top"
text: 'Add 1 item at top'
- waitForAnimationToEnd:
timeout: 2000
- tapOn:
text: "Add 1 item at bottom"
text: 'Add 1 item at bottom'
- waitForAnimationToEnd:
timeout: 2000
# Record offset after mutations
- copyTextFrom:
id: "scroll-offset-display"
id: 'scroll-offset-display'
- evalScript: ${output.offsetAfter = parseInt(maestro.copiedText.split(":")[1].trim())}
# Delta should be ~44px (only top prepend affects anchor)
- assertTrue: ${output.offsetAfter - output.offsetBefore >= 42 && output.offsetAfter - output.offsetBefore <= 46}
- tapOn:
text: "Reset"
text: 'Reset'
Original file line number Diff line number Diff line change
Expand Up @@ -6,39 +6,39 @@ appId: ${APP_ID}
- setOrientation: portrait
- waitForAnimationToEnd:
timeout: 3000
- assertVisible: "Components"
- assertVisible: 'Components'
- scrollUntilVisible:
element:
id: "FlatList"
id: 'FlatList'
direction: DOWN
speed: 40
- tapOn:
id: "FlatList"
id: 'FlatList'
- scrollUntilVisible:
element:
id: "maintainVisibleContentPosition"
id: 'maintainVisibleContentPosition'
direction: DOWN
speed: 40
- tapOn:
id: "maintainVisibleContentPosition"
id: 'maintainVisibleContentPosition'
# Scroll to offset 200 (item 5 should be visible)
- tapOn:
text: "ScrollToOffset 100"
text: 'ScrollToOffset 100'
- waitForAnimationToEnd:
timeout: 2000
# Record offset before delete
- copyTextFrom:
id: "scroll-offset-display"
id: 'scroll-offset-display'
- evalScript: ${output.offsetBefore = parseInt(maestro.copiedText.split(":")[1].trim())}
# Clear the list (simulates delete of all items including anchor)
- tapOn:
text: "Clear (empty list)"
text: 'Clear (empty list)'
- waitForAnimationToEnd:
timeout: 2000
# Reset to restore items
- tapOn:
text: "Reset"
text: 'Reset'
- waitForAnimationToEnd:
timeout: 2000
# Verify list is restored
- assertVisible: "0"
- assertVisible: '0'
Original file line number Diff line number Diff line change
Expand Up @@ -6,40 +6,40 @@ appId: ${APP_ID}
- setOrientation: portrait
- waitForAnimationToEnd:
timeout: 3000
- assertVisible: "Components"
- assertVisible: 'Components'
- scrollUntilVisible:
element:
id: "FlatList"
id: 'FlatList'
direction: DOWN
speed: 40
- tapOn:
id: "FlatList"
id: 'FlatList'
- scrollUntilVisible:
element:
id: "maintainVisibleContentPosition"
id: 'maintainVisibleContentPosition'
direction: DOWN
speed: 40
- tapOn:
id: "maintainVisibleContentPosition"
id: 'maintainVisibleContentPosition'
# Scroll to offset 400 (item 10 should be visible)
- tapOn:
text: "ScrollToOffset 500"
text: 'ScrollToOffset 500'
- waitForAnimationToEnd:
timeout: 2000
# Record offset before delete
- copyTextFrom:
id: "scroll-offset-display"
id: 'scroll-offset-display'
- evalScript: ${output.offsetBefore = parseInt(maestro.copiedText.split(":")[1].trim())}
# Add items at top (shifts middle items up)
- tapOn:
text: "Add 3 items at top"
text: 'Add 3 items at top'
- waitForAnimationToEnd:
timeout: 2000
# Record offset after prepend
- copyTextFrom:
id: "scroll-offset-display"
id: 'scroll-offset-display'
- evalScript: ${output.offsetAfter = parseInt(maestro.copiedText.split(":")[1].trim())}
# Delta should be ~132px (3 items × 44px)
- assertTrue: ${output.offsetAfter - output.offsetBefore >= 128 && output.offsetAfter - output.offsetBefore <= 136}
- tapOn:
text: "Reset"
text: 'Reset'
30 changes: 15 additions & 15 deletions packages/rn-tester/.maestro/flatlist-empty-list-maintainvisible.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,60 +10,60 @@ appId: ${APP_ID}
- waitForAnimationToEnd:
timeout: 3000
# Find test
- assertVisible: "Components"
- assertVisible: 'Components'
- scrollUntilVisible:
element:
id: "FlatList"
id: 'FlatList'
direction: DOWN
speed: 40
- tapOn:
id: "FlatList"
id: 'FlatList'
- scrollUntilVisible:
element:
id: "maintainVisibleContentPosition"
id: 'maintainVisibleContentPosition'
direction: DOWN
speed: 40
- tapOn:
id: "maintainVisibleContentPosition"
id: 'maintainVisibleContentPosition'
# Scroll to item 10
- tapOn:
text: "ScrollToOffset 500"
text: 'ScrollToOffset 500'
- waitForAnimationToEnd:
timeout: 2000
# Clear the list (empty list)
- tapOn:
text: "Clear (empty list)"
text: 'Clear (empty list)'
- waitForAnimationToEnd:
timeout: 2000
# Reset data (repopulate)
- tapOn:
text: "Reset"
text: 'Reset'
- waitForAnimationToEnd:
timeout: 2000
# Scroll to item 10 again and prepend — verify MVCP still works after empty
- tapOn:
text: "ScrollToOffset 500"
text: 'ScrollToOffset 500'
- waitForAnimationToEnd:
timeout: 2000
- copyTextFrom:
id: "scroll-offset-display"
id: 'scroll-offset-display'
- evalScript: ${output.offsetBefore = parseInt(maestro.copiedText.split(":")[1].trim())}
- tapOn:
text: "Add 1 item at top"
text: 'Add 1 item at top'
- waitForAnimationToEnd:
timeout: 2000
- copyTextFrom:
id: "scroll-offset-display"
id: 'scroll-offset-display'
- evalScript: ${output.offsetAfter = parseInt(maestro.copiedText.split(":")[1].trim())}
- assertTrue: ${output.offsetAfter - output.offsetBefore >= 42 && output.offsetAfter - output.offsetBefore <= 46}
- copyTextFrom:
id: "scroll-offset-display"
id: 'scroll-offset-display'
- evalScript: ${output.offsetBefore = parseInt(maestro.copiedText.split(":")[1].trim())}
- tapOn:
text: "Reset"
text: 'Reset'
- waitForAnimationToEnd:
timeout: 2000
- copyTextFrom:
id: "scroll-offset-display"
id: 'scroll-offset-display'
- evalScript: ${output.offsetAfter = parseInt(maestro.copiedText.split(":")[1].trim())}
- assertTrue: ${output.offsetAfter >= 0 && output.offsetAfter <= 50}
Original file line number Diff line number Diff line change
Expand Up @@ -9,41 +9,41 @@ appId: ${APP_ID}
timeout: 3000
# Find test

- assertVisible: "Components"
- assertVisible: 'Components'
- scrollUntilVisible:
element:
id: "FlatList"
id: 'FlatList'
direction: DOWN
speed: 40
- tapOn:
id: "FlatList"
id: 'FlatList'
- scrollUntilVisible:
element:
id: "maintainVisibleContentPosition"
id: 'maintainVisibleContentPosition'
direction: DOWN
speed: 40
- tapOn:
id: "maintainVisibleContentPosition"
id: 'maintainVisibleContentPosition'
# Scroll to offset 500
- tapOn:
text: "ScrollToOffset 500"
text: 'ScrollToOffset 500'
- waitForAnimationToEnd:
timeout: 2000
# Record offset before prepend (element may be off-screen but still accessible)
- copyTextFrom:
id: "scroll-offset-display"
id: 'scroll-offset-display'
- evalScript: ${output.offsetBefore = parseInt(maestro.copiedText.split(":")[1].trim())}
# Add 1 item at top
- tapOn:
text: "Add 1 item at top"
text: 'Add 1 item at top'
- waitForAnimationToEnd:
timeout: 2000
# Record offset after prepend
- copyTextFrom:
id: "scroll-offset-display"
id: 'scroll-offset-display'
- evalScript: ${output.offsetAfter = parseInt(maestro.copiedText.split(":")[1].trim())}
# Verify delta is ~44px (40px height + 4px margin)
- assertTrue: ${output.offsetAfter - output.offsetBefore >= 42 && output.offsetAfter - output.offsetBefore <= 46}
# Reset
- tapOn:
text: "Reset"
text: 'Reset'
Loading
Loading