[Testing/Medium] testPerPagePrint: stage-2 scroll uses inert finger drags — use scroll gesture #215
Closed
opened 2026-09-18 08:15:47 +01:00 by gronod
·
0 comments
No Branch/Tag Specified
main
docs/27-roadmap-candidates
develop
milestone/m13-print-ticket
feat/218-paper-source
feat/217-panel-ticket-restore
bugfix/211-print-output-flip
milestone/m12-native-spool
feat/202-airprint-detection
feat/201-native-print-operation
feat/201-raster-canvas
feat/201-ticket-capture
feat/201-pm-ticket-bridge
chore/m11-sync-develop
milestone/m11-print-settings
chore/m11-docs-hygiene
feat/186-panel-binding
feat/181-canon-media-locale
feat/180-epson-qual-options
feat/183-stage2-print-settings
chore/m11-tracking
docs/ui-interactive-map
v2.0.4-prerelease-docs27
v2.0.4
v2.0.3
v2.0.3-prerelease
v2.0.2
v2.0.1
v2.0.0
Labels
Clear labels
Bug/Architecture
Bug/Backend
Bug/DevOps
Bug/UI
Compat/Breaking
Feature/Architecture
Feature/Backend
Feature/DevOps
Feature/UI
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Project/ICCery-v2
Core / wizard / process infra defect
Argyll orchestration, file/data defect
Build, packaging, CI defect
Views, controls, dialogs defect
Breaking change that won't be backward compatible
Core / wizard / process infra
Argyll orchestration, file/data engines
Build, packaging, CI
Views, controls, dialogs
Something is not working
Documentation changes
Improve existing functionality
New functionality
This is security issue
Issue or pull request related to testing
Priority
Critical
1
The priority is critical
Priority
High
2
The priority is high
Priority
Low
4
The priority is low
Priority
Medium
3
The priority is medium
ICCery v2 Mac rewrite
Reviewed
Confirmed
1
Issue has been confirmed
Reviewed
Duplicate
2
This issue or pull request already exists
Reviewed
Invalid
3
Invalid issue
Reviewed
Won't Fix
3
This issue won't be fixed
Status
Abandoned
3
Somebody has started to work on this but abandoned work
Status
Blocked
1
Something is blocking this issue or pull request
Status
Need More Info
2
Feedback is required to reproduce issue or to continue work
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: gronod/iccery-v2-mac#215
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Milestone3UITests.testPerPagePrint(Tests/ICCeryUITests/Milestone3UITests.swift:242-269) is the only UI test that must scroll stage 2 before pressing a Print button —btnPrintPage-0sits at the window's bottom edge (originally #132).Its helper
scrollStage2UntilHittable(Milestone3UITests.swift:130-168) scrolls by synthesizingpress(forDuration:thenDragTo:)finger-drags on thegalleryPage-0cell, falling back to thestage-2scroll view. A macOSScrollView/LazyVGriddoes not scroll in response to a click-drag — observed runs show ~3 drag attempts while the gallery frame never moves, so the loop burns its 20 s budget and the button may never become hittable.The helper's comment claims a synthesized scroll wheel is "inert on this LazyVGrid". That assumption is backwards: the finger drag is the inert gesture on macOS, and the scroll-wheel gesture is the mechanism the platform actually supports — which was also the fix originally proposed in #132.
Proposed Fix
press(forDuration:thenDragTo:)calls inscrollStage2UntilHittablewith the XCUI scroll-wheel gesture —scroll(byDeltaX:deltaY:)on a coordinate insideapp.scrollViews["stage-2"](verify deltaY sign so content moves up, off the Dock zone).windowBottom - 80Dock-zone guard, and the "never coordinate-click a stale frame" contract unchanged.thenDragTo/press(forDurationexists only inMilestone3UITests.swift— no other test needs changing.Acceptance Criteria
scrollStage2UntilHittableusesscroll(byDeltaX:deltaY:)(or the element-level scroll API); nopress(forDuration:thenDragTo:)remains.testPerPagePrintpasses withbtnPrintPage-0becoming hittable via the scroll gesture.Milestone3UITestsleg green (xcodebuild test -scheme ICCery -destination 'platform=macOS').Dependencies
None — standalone test fix.
References
btnPrintPage-0not-hittable bug (XCUI auto scroll-to-visible ran 3× and never moved the frame); proposed fix wasscroll(byDeltaX:deltaY:).Tests/ICCeryUITests/Milestone3UITests.swift:130-168—scrollStage2UntilHittable.Tests/ICCeryUITests/Milestone3UITests.swift:242-269—testPerPagePrint.