ui: refine subtitle layout and preserve hidden controls on seeks
This commit is contained in:
@@ -183,6 +183,21 @@ struct SystemPlaybackChecks {
|
||||
require(model.setPlayback(playing: true), "repeated play accepted")
|
||||
until("repeated play keeps playing") { model.state.status == PLAYER_PLAYING && model.state.position > 0.2 }
|
||||
|
||||
if !NSWorkspace.shared.isVoiceOverEnabled {
|
||||
require(model.perform(.enterCompact), "compact playback is available for hidden-keyboard seeking")
|
||||
until("compact entry completes before hiding controls") { !model.compactWindow.isTransitioning }
|
||||
model.hideControls(hideCursor: false)
|
||||
require(!model.controlsVisible, "playing chrome can be hidden before a keyboard seek")
|
||||
require(model.handleKey(try! KeyChord("left")), "keyboard seek is accepted while chrome is hidden")
|
||||
require(!model.controlsVisible, "keyboard seek must not flash playback chrome")
|
||||
until("hidden keyboard seek acknowledges the start boundary") {
|
||||
require(!model.controlsVisible, "seek acknowledgement must preserve hidden chrome")
|
||||
return !model.state.seek_pending && model.state.position < 0.15
|
||||
}
|
||||
require(model.perform(.exitCompact), "keyboard seek check restores normal mode")
|
||||
until("compact exit completes") { !model.compactWindow.isTransitioning }
|
||||
}
|
||||
|
||||
// Closing must hide the last polled retained range before the next state poll.
|
||||
var retainedSnapshot = model.state
|
||||
retainedSnapshot.buffered_start = retainedSnapshot.position
|
||||
|
||||
Reference in New Issue
Block a user