diff --git a/packages/core/src/audioGroups.test.ts b/packages/core/src/audioGroups.test.ts index bf64af486..59361ce34 100644 --- a/packages/core/src/audioGroups.test.ts +++ b/packages/core/src/audioGroups.test.ts @@ -2,8 +2,10 @@ import { beforeEach, describe, expect, it } from "vitest"; import { audioGroupOf, HF_AUDIO_GROUP_ATTR, + isMemberGroupHidden, resolveAudioGroups, resolveCarveSourceIds, + resolveGroupElement, } from "./audioGroups.js"; beforeEach(() => { @@ -158,3 +160,68 @@ describe(HF_AUDIO_GROUP_ATTR, () => { expect(HF_AUDIO_GROUP_ATTR).toBe("data-audio-group"); }); }); + +describe("resolveGroupElement", () => { + const doc = (html: string): Document => { + const d = document.implementation.createHTMLDocument("t"); + d.body.innerHTML = html; + return d; + }; + + it("returns the bus for a real ", () => { + const d = doc(``); + expect(resolveGroupElement(d, "vo")?.tagName.toLowerCase()).toBe("hf-audio-group"); + }); + + // The trap: a bare getElementById read a member's OWN fader and chain as the + // bus's, applying both a second time on the sub-mix. + it("refuses an