| | |
| | | XCTAssertEqual(snapshot.appGroups.single?.windows.map(\.primarySpaceID), [10, 11, 12, 12, nil]) |
| | | } |
| | | |
| | | func testWindowSpaceMappingFillsUnresolvedWindowsFromSpaceInverseMap() { |
| | | let mapping = WindowSpaceMappingPolicy.mergedSpaceIDsByWindowID( |
| | | requestedWindowIDs: [10, 20, 30], |
| | | directSpaceIDsByWindowID: [10: [100]], |
| | | windowIDsBySpaceID: [ |
| | | 100: [10, 20], |
| | | 101: [30] |
| | | ], |
| | | orderedSpaceIDs: [100, 101] |
| | | ) |
| | | |
| | | XCTAssertEqual(mapping[10], [100]) |
| | | XCTAssertEqual(mapping[20], [100]) |
| | | XCTAssertEqual(mapping[30], [101]) |
| | | } |
| | | |
| | | func testWindowSpaceMappingDoesNotOverwriteDirectSpaceAssignments() { |
| | | let mapping = WindowSpaceMappingPolicy.mergedSpaceIDsByWindowID( |
| | | requestedWindowIDs: [10], |
| | | directSpaceIDsByWindowID: [10: [101]], |
| | | windowIDsBySpaceID: [ |
| | | 100: [10] |
| | | ], |
| | | orderedSpaceIDs: [100, 101] |
| | | ) |
| | | |
| | | XCTAssertEqual(mapping[10], [101]) |
| | | } |
| | | |
| | | func testWindowSpaceMappingLeavesAmbiguousNoSpaceWindowsUnassigned() { |
| | | let mapping = WindowSpaceMappingPolicy.mergedSpaceIDsByWindowID( |
| | | requestedWindowIDs: [10, 20], |
| | | directSpaceIDsByWindowID: [:], |
| | | windowIDsBySpaceID: [ |
| | | 100: [10, 99] |
| | | ], |
| | | orderedSpaceIDs: [100] |
| | | ) |
| | | |
| | | XCTAssertEqual(mapping[10], [100]) |
| | | XCTAssertNil(mapping[20]) |
| | | XCTAssertNil(mapping[99]) |
| | | } |
| | | |
| | | func testQuickSwitchSnapshotKeepsMinimizedAndFullscreenWindows() { |
| | | let app = makeApp() |
| | | let snapshot = QuickSwitchSnapshotBuilder.snapshot( |