33 lines
1.3 KiB
Swift
33 lines
1.3 KiB
Swift
import XCTest
|
|
@testable import CommandNotch
|
|
|
|
final class WindowFrameCalculatorTests: XCTestCase {
|
|
func testClosedStateCentersWindowOnScreen() {
|
|
let frame = WindowFrameCalculator.targetFrame(
|
|
screenFrame: CGRect(x: 100, y: 50, width: 1600, height: 900),
|
|
currentWindowFrame: CGRect(x: 300, y: 0, width: 0, height: 0),
|
|
notchState: .closed,
|
|
contentSize: CGSize(width: 800, height: 300),
|
|
centerHorizontally: false
|
|
)
|
|
|
|
XCTAssertEqual(frame.origin.x, 480, accuracy: 0.001)
|
|
XCTAssertEqual(frame.origin.y, 630, accuracy: 0.001)
|
|
XCTAssertEqual(frame.size.width, 840, accuracy: 0.001)
|
|
XCTAssertEqual(frame.size.height, 320, accuracy: 0.001)
|
|
}
|
|
|
|
func testOpenStateClampsDraggedFrameWithinScreenBounds() {
|
|
let frame = WindowFrameCalculator.targetFrame(
|
|
screenFrame: CGRect(x: 0, y: 0, width: 1440, height: 900),
|
|
currentWindowFrame: CGRect(x: 1200, y: 0, width: 0, height: 0),
|
|
notchState: .open,
|
|
contentSize: CGSize(width: 900, height: 320),
|
|
centerHorizontally: false
|
|
)
|
|
|
|
XCTAssertEqual(frame.origin.x, 500, accuracy: 0.001)
|
|
XCTAssertEqual(frame.origin.y, 560, accuracy: 0.001)
|
|
}
|
|
}
|