19 lines
625 B
Swift
19 lines
625 B
Swift
import Testing
|
|
@testable import SstCore
|
|
|
|
struct ModifierKeyTrackerTests {
|
|
@Test func emitsPressedThenReleasedOnlyOnTransitions() {
|
|
var tracker = ModifierKeyTracker()
|
|
#expect(tracker.process(isDown: false) == nil)
|
|
#expect(tracker.process(isDown: true) == .pressed)
|
|
#expect(tracker.process(isDown: true) == nil)
|
|
#expect(tracker.process(isDown: false) == .released)
|
|
#expect(tracker.process(isDown: false) == nil)
|
|
}
|
|
|
|
@Test func freshTrackerStartsReleased() {
|
|
var tracker = ModifierKeyTracker()
|
|
#expect(tracker.process(isDown: true) == .pressed)
|
|
}
|
|
}
|