A music player that connects to your cloud/distributed storage. diffuse.sh
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677import { describe, it } from "@std/testing/bdd";import { expect } from "@std/expect";
import { testWeb } from "@tests/common/index.ts";
describe("common/track", () => { describe("trackURIBase", () => { it("strips path from URI", async () => { const result = await testWeb(async () => { const { trackURIBase } = await import("~/common/track.js"); return trackURIBase("https://example.com/music/track.mp3"); }); expect(result).toBe("https://example.com/"); });
it("strips query string from URI", async () => { const result = await testWeb(async () => { const { trackURIBase } = await import("~/common/track.js"); return trackURIBase("https://example.com/track.mp3?token=abc"); }); expect(result).toBe("https://example.com/"); });
it("handles URIs with no path", async () => { const result = await testWeb(async () => { const { trackURIBase } = await import("~/common/track.js"); return trackURIBase("https://example.com"); }); expect(result).toBe("https://example.com/"); });
it("preserves scheme and host", async () => { const result = await testWeb(async () => { const { trackURIBase } = await import("~/common/track.js"); return trackURIBase("s3://my-bucket/path/to/track.flac"); }); expect(result).toBe("s3://my-bucket"); }); });
describe("uniqueTrackURIs", () => { it("returns a set of base URIs", async () => { const result = await testWeb(async () => { const { uniqueTrackURIs } = await import("~/common/track.js"); const tracks = [ { $type: "sh.diffuse.output.track", id: "1", uri: "https://example.com/a.mp3" }, { $type: "sh.diffuse.output.track", id: "2", uri: "https://example.com/b.mp3" }, ] as never[]; const set = uniqueTrackURIs(tracks); return [...set]; }); expect(result).toEqual(["https://example.com/"]); });
it("deduplicates tracks from the same source", async () => { const result = await testWeb(async () => { const { uniqueTrackURIs } = await import("~/common/track.js"); const tracks = [ { $type: "sh.diffuse.output.track", id: "1", uri: "https://a.com/1.mp3" }, { $type: "sh.diffuse.output.track", id: "2", uri: "https://a.com/2.mp3" }, { $type: "sh.diffuse.output.track", id: "3", uri: "https://b.com/3.mp3" }, ] as never[]; return uniqueTrackURIs(tracks).size; }); expect(result).toBe(2); });
it("returns empty set for empty input", async () => { const result = await testWeb(async () => { const { uniqueTrackURIs } = await import("~/common/track.js"); return uniqueTrackURIs([]).size; }); expect(result).toBe(0); }); });});