aerospace fork
Something went wrong. Try again.
6.3 kB · 133 lines
Swift
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134@testable import AppBundleimport Commonimport XCTest
@MainActorfinal class SwapCommandTest: XCTestCase { override func setUp() async throws { setUpWorkspacesForTests() }
func testSwap_swapWindows_Directional() async { let root = Workspace.get(byName: name).rootTilingContainer.apply { TilingContainer.newVTiles(parent: $0, adaptiveWeight: 1).apply { assertEquals(TestWindow.new(id: 1, parent: $0).focusWindow(), true) TestWindow.new(id: 2, parent: $0) } TestWindow.new(id: 3, parent: $0) }
await parseCommand("swap right").cmdOrDie.run(.defaultEnv, .emptyStdin) assertEquals(root.layoutDescription, .h_tiles([.v_tiles([.window(3), .window(2)]), .window(1)])) assertEquals(focus.windowOrNil?.windowId, 1) assertEquals(root.mostRecentWindowRecursive?.windowId, 1)
await parseCommand("swap left").cmdOrDie.run(.defaultEnv, .emptyStdin) assertEquals(root.layoutDescription, .h_tiles([.v_tiles([.window(1), .window(2)]), .window(3)])) assertEquals(focus.windowOrNil?.windowId, 1) assertEquals(root.mostRecentWindowRecursive?.windowId, 1)
await parseCommand("swap down").cmdOrDie.run(.defaultEnv, .emptyStdin) assertEquals(root.layoutDescription, .h_tiles([.v_tiles([.window(2), .window(1)]), .window(3)])) assertEquals(focus.windowOrNil?.windowId, 1) assertEquals(root.mostRecentWindowRecursive?.windowId, 1)
await parseCommand("swap up").cmdOrDie.run(.defaultEnv, .emptyStdin) assertEquals(root.layoutDescription, .h_tiles([.v_tiles([.window(1), .window(2)]), .window(3)])) assertEquals(focus.windowOrNil?.windowId, 1) assertEquals(root.mostRecentWindowRecursive?.windowId, 1) }
func testSwap_swapWindows_DfsRelative() async { let root = Workspace.get(byName: name).rootTilingContainer.apply { TilingContainer.newVTiles(parent: $0, adaptiveWeight: 1).apply { assertEquals(TestWindow.new(id: 1, parent: $0).focusWindow(), true) TestWindow.new(id: 2, parent: $0) } TestWindow.new(id: 3, parent: $0) }
await parseCommand("swap dfs-next").cmdOrDie.run(.defaultEnv, .emptyStdin) assertEquals(root.layoutDescription, .h_tiles([.v_tiles([.window(2), .window(1)]), .window(3)])) assertEquals(focus.windowOrNil?.windowId, 1) assertEquals(root.mostRecentWindowRecursive?.windowId, 1)
await parseCommand("swap dfs-next").cmdOrDie.run(.defaultEnv, .emptyStdin) assertEquals(root.layoutDescription, .h_tiles([.v_tiles([.window(2), .window(3)]), .window(1)])) assertEquals(focus.windowOrNil?.windowId, 1) assertEquals(root.mostRecentWindowRecursive?.windowId, 1)
await parseCommand("swap dfs-prev").cmdOrDie.run(.defaultEnv, .emptyStdin) assertEquals(root.layoutDescription, .h_tiles([.v_tiles([.window(2), .window(1)]), .window(3)])) assertEquals(focus.windowOrNil?.windowId, 1) assertEquals(root.mostRecentWindowRecursive?.windowId, 1)
await parseCommand("swap dfs-prev").cmdOrDie.run(.defaultEnv, .emptyStdin) assertEquals(root.layoutDescription, .h_tiles([.v_tiles([.window(1), .window(2)]), .window(3)])) assertEquals(focus.windowOrNil?.windowId, 1) assertEquals(root.mostRecentWindowRecursive?.windowId, 1) }
func testSwap_DirectionalWrapping() async { let root = Workspace.get(byName: name).rootTilingContainer.apply { assertEquals(TestWindow.new(id: 1, parent: $0).focusWindow(), true) TestWindow.new(id: 2, parent: $0) TestWindow.new(id: 3, parent: $0) }
await parseCommand("swap --wrap-around left").cmdOrDie.run(.defaultEnv, .emptyStdin) assertEquals(root.layoutDescription, .h_tiles([.window(3), .window(2), .window(1)])) assertEquals(focus.windowOrNil?.windowId, 1) assertEquals(root.mostRecentWindowRecursive?.windowId, 1)
await parseCommand("swap --wrap-around right").cmdOrDie.run(.defaultEnv, .emptyStdin) assertEquals(root.layoutDescription, .h_tiles([.window(1), .window(2), .window(3)])) assertEquals(focus.windowOrNil?.windowId, 1) assertEquals(root.mostRecentWindowRecursive?.windowId, 1) }
func testSwap_DfsRelativeWrapping() async { let root = Workspace.get(byName: name).rootTilingContainer.apply { assertEquals(TestWindow.new(id: 1, parent: $0).focusWindow(), true) TestWindow.new(id: 2, parent: $0) TestWindow.new(id: 3, parent: $0) }
await parseCommand("swap --wrap-around dfs-prev").cmdOrDie.run(.defaultEnv, .emptyStdin) assertEquals(root.layoutDescription, .h_tiles([.window(3), .window(2), .window(1)])) assertEquals(focus.windowOrNil?.windowId, 1) assertEquals(root.mostRecentWindowRecursive?.windowId, 1)
await parseCommand("swap --wrap-around dfs-next").cmdOrDie.run(.defaultEnv, .emptyStdin) assertEquals(root.layoutDescription, .h_tiles([.window(1), .window(2), .window(3)])) assertEquals(focus.windowOrNil?.windowId, 1) assertEquals(root.mostRecentWindowRecursive?.windowId, 1) }
func testSwap_SwapFocus() async { let root = Workspace.get(byName: name).rootTilingContainer.apply { TestWindow.new(id: 1, parent: $0) assertEquals(TestWindow.new(id: 2, parent: $0).focusWindow(), true) TestWindow.new(id: 3, parent: $0) }
await parseCommand("swap --swap-focus right").cmdOrDie.run(.defaultEnv, .emptyStdin) assertEquals(root.layoutDescription, .h_tiles([.window(1), .window(3), .window(2)])) assertEquals(focus.windowOrNil?.windowId, 3) assertEquals(root.mostRecentWindowRecursive?.windowId, 3) }}