import Testing @testable import OnyxNotch // Wann das Panel wegbleiben soll — und wann eben nicht. Die erste Fassung hat // jedes Vollbildfenster als Grund gewertet. Damit war die Notch tot, sobald // jemand Xcode im Vollbild hatte, und das ist kein Zustand, in dem man auf // seinen Kalender verzichten will. @Suite("Unterdrückung des Panels") struct SuppressionTests { @Test("Ein Vollbildvideo hält das Panel weg") func fullScreenVideoSuppresses() { #expect(NotchSuppression.shouldSuppress(hasFullScreenWindow: true, preventsDisplaySleep: true)) } @Test("Ein Vollbildfenster allein ist kein Grund") func fullScreenWindowAloneIsNoReason() { // Xcode, ein Browser, ein Editor — alles im Vollbild und alles // Situationen, in denen man die Notch weiter benutzen will. #expect(!NotchSuppression.shouldSuppress(hasFullScreenWindow: true, preventsDisplaySleep: false)) } @Test("Wiedergabe im Fenster ist auch kein Grund") func windowedPlaybackIsNoReason() { // Ein Video in einem Fenster verdeckt die Notch nicht — und wer währenddessen // die Notch berührt, meint sie auch. #expect(!NotchSuppression.shouldSuppress(hasFullScreenWindow: false, preventsDisplaySleep: true)) } @Test("Ohne beides bleibt das Panel erreichbar") func normalDesktopIsFine() { #expect(!NotchSuppression.shouldSuppress(hasFullScreenWindow: false, preventsDisplaySleep: false)) } }