feat: load optional XDG TOML configuration with session overrides
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import AppKit
|
||||
import TerebiConfiguration
|
||||
|
||||
@MainActor
|
||||
private final class FixedQualityClock { var now = 1000.0 }
|
||||
@@ -65,15 +66,16 @@ struct AutomaticQualityPlaybackChecks {
|
||||
"reselecting the current manual resolution disables auto without disrupting playback")
|
||||
model.setAutomaticYouTubeQuality(true)
|
||||
let reopened = PlayerModel(defaults: defaults, qualityClock: { clock.now })
|
||||
require(reopened.automaticYouTubeQuality, "explicit opt-in survives player restart")
|
||||
require(!reopened.automaticYouTubeQuality, "session opt-in does not survive player restart")
|
||||
reopened.shutdown()
|
||||
model.setYouTubeQuality(nil)
|
||||
require(!model.automaticYouTubeQuality && model.youtubeQuality == nil,
|
||||
"default quality is also a manual override")
|
||||
let manual = PlayerModel(defaults: defaults, qualityClock: { clock.now })
|
||||
require(!manual.automaticYouTubeQuality, "manual override persists after restart")
|
||||
let manual = PlayerModel(defaults: defaults, configuration: PlayerConfiguration(automaticQuality: true),
|
||||
qualityClock: { clock.now })
|
||||
require(manual.automaticYouTubeQuality, "manual session override does not replace startup configuration")
|
||||
manual.shutdown()
|
||||
model.closeFile()
|
||||
print("PASS native adaptive playback: default-off/stalled downshift/healthy upshift/progress preservation/current+default manual override/opt-in persistence")
|
||||
print("PASS native adaptive playback: default-off/stalled downshift/healthy upshift/progress preservation/current+default manual override/session-only settings")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user