feat(*): subsonic client with avfoundation playback and apple music ui

This commit is contained in:
hh committed 2026-09-22 06:44:44 +02:00
commit e5bb559d7f
93 files changed
+7517

No files matched your search

@@ -0,0 +1,28 @@
import Foundation
import SourceFake
import Store
import Sync
import Testing
@Test func fakeSourceSyncsIntoLibrary() async throws {
let library = MemoryLibrary()
let source = FakeSource()
try await SyncEngine(library: library).sync(source)
let albums = await library.albums(sortedBy: .title)
#expect(albums.count == 35)
#expect(await library.cursor(for: source.id) != nil)
let first = try #require(albums.first)
#expect(await library.tracks(inAlbum: first.id).count == first.trackCount)
#expect(await !library.search("harbor").artists.isEmpty)
try await SyncEngine(library: library).sync(source)
#expect(await library.albums(sortedBy: .title).count == 35)
}
@Test func fakeArtworkRenders() async throws {
let source = FakeSource()
let library = MemoryLibrary()
try await SyncEngine(library: library).sync(source)
let artwork = try #require(await library.albums(sortedBy: .title).first?.artwork)
let request = try await source.artwork(artwork, pixelSize: 300)
#expect(try Data(contentsOf: request.url).count > 1000)
}