feat(*): subsonic client with avfoundation playback and apple music ui
This commit is contained in:
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)
|
||||
}
|
||||
Reference in new issue
Block a user