Add searchable instrument browser

This commit is contained in:
diyaa
2026-09-14 00:55:41 +02:00
parent b2bf04e78b
commit ecbf07d1ea
5 changed files with 102 additions and 1 deletions
@@ -26,4 +26,12 @@ final class LocalInstrumentCatalogTests: XCTestCase {
XCTAssertEqual(Set(items.map(\.id)).count, items.count)
XCTAssertTrue(items.allSatisfy { !$0.name.isEmpty && !$0.familyCategory.isEmpty })
}
func testSearchMatchesNamesAliasesAndArabicSearchTerms() {
let catalog = LocalInstrumentCatalog()
XCTAssertEqual(catalog.instruments(matching: "concert flute").map(\.id), ["flute"])
XCTAssertEqual(catalog.instruments(matching: "nylon string").map(\.id), ["classical-guitar"])
XCTAssertEqual(catalog.instruments(matching: "عود").map(\.id), ["oud"])
}
}