broken changes

This commit is contained in:
Mark Gregory
2026-11-05 22:27:47 +00:00
parent d348aa76ca
commit df8cb6b17d
5 changed files with 192 additions and 22 deletions
+13 -2
View File
@@ -1940,7 +1940,7 @@ extension KJamsCloneTests {
}
extension KJamsCloneTests {
@MainActor func testLinkedSyncUsesFirstDeckTogglesBothAndRestoresOriginalTempos() async throws {
@MainActor func testLinkedSyncUsesClickedDeckTogglesBothAndRestoresOriginalTempos() async throws {
let root = FileManager.default.temporaryDirectory.appendingPathComponent(UUID().uuidString)
defer { try? FileManager.default.removeItem(at:root) }
let system = DJSystem(storageURL:root);system.master = 0
@@ -1950,13 +1950,24 @@ extension KJamsCloneTests {
system.load(song,into:"A");system.load(song,into:"B")
system.a.bpm = 128;system.b.bpm = 120;system.a.bpmConfirmed = true;system.b.bpmConfirmed = true
system.a.player.tempo = 1.04;system.b.player.tempo = 0.96
system.sync(system.b)
XCTAssertFalse(system.syncActive)
system.sync(system.a)
XCTAssertTrue(system.syncActive);XCTAssertEqual(system.a.player.tempo,1.04,accuracy:0.001)
XCTAssertEqual(system.b.bpm*system.b.player.tempo,128*1.04,accuracy:0.001)
system.a.player.tempo = 1.02;try await Task.sleep(nanoseconds:40_000_000)
XCTAssertEqual(system.b.bpm*system.b.player.tempo,128*1.02,accuracy:0.001)
system.sync(system.a)
XCTAssertFalse(system.syncActive);XCTAssertEqual(system.a.player.tempo,1.04,accuracy:0.001);XCTAssertEqual(system.b.player.tempo,0.96,accuracy:0.001)
system.sync(system.b)
XCTAssertTrue(system.syncActive);XCTAssertEqual(system.syncLeader,"B")
XCTAssertEqual(system.b.player.tempo,0.96,accuracy:0.001)
XCTAssertEqual(system.a.bpm*system.a.player.tempo,120*0.96,accuracy:0.001)
system.b.player.tempo = 1.01;try await Task.sleep(nanoseconds:40_000_000)
XCTAssertEqual(system.a.bpm*system.a.player.tempo,120*1.01,accuracy:0.001)
system.sync(system.b)
XCTAssertFalse(system.syncActive)
XCTAssertEqual(system.a.player.tempo,1.04,accuracy:0.001)
XCTAssertEqual(system.b.player.tempo,0.96,accuracy:0.001)
}
@MainActor func testDJLoopActuallyRepeatsAndExplicitCueDoesNotMovePlayback() async throws {
let deck = DJChannel("A");defer { deck.unload() };deck.master = 0