























@@ -4,7 +4,6 @@ import {
44clearCompactionProviders,
55getCompactionProvider,
66getRegisteredCompactionProvider,
7-listCompactionProviderIds,
87listRegisteredCompactionProviders,
98registerCompactionProvider,
109restoreRegisteredCompactionProviders,
@@ -37,9 +36,13 @@ function requireCompactionProvider(id: string): CompactionProvider {
3736return provider;
3837}
393839+function listCompactionProviderIdsForTest(): string[] {
40+return listRegisteredCompactionProviders().map((entry) => entry.provider.id);
41+}
42+4043describe("compaction provider registry", () => {
4144it("starts empty", () => {
42-expect(listCompactionProviderIds()).toStrictEqual([]);
45+expect(listCompactionProviderIdsForTest()).toStrictEqual([]);
4346expect(listRegisteredCompactionProviders()).toStrictEqual([]);
4447});
4548@@ -68,7 +71,7 @@ describe("compaction provider registry", () => {
6871registerCompactionProvider(makeProvider("alpha"));
6972registerCompactionProvider(makeProvider("beta"));
707371-expect(listCompactionProviderIds()).toEqual(["alpha", "beta"]);
74+expect(listCompactionProviderIdsForTest()).toEqual(["alpha", "beta"]);
7275});
73767477it("lists registered entries with owner metadata", () => {
@@ -91,7 +94,7 @@ describe("compaction provider registry", () => {
9194expect(getCompactionProvider("a")?.id).toBe("a");
9295expect(getCompactionProvider("b")?.id).toBe("b");
9396expect(getCompactionProvider("c")?.id).toBe("c");
94-expect(listCompactionProviderIds()).toHaveLength(3);
97+expect(listCompactionProviderIdsForTest()).toHaveLength(3);
9598});
969997100it("calls summarize and returns expected result", async () => {
@@ -112,17 +115,17 @@ describe("compaction provider registry", () => {
112115113116expect(getCompactionProvider("dup")).toBe(second);
114117expect(getCompactionProvider("dup")?.label).toBe("second-label");
115-expect(listCompactionProviderIds()).toEqual(["dup"]);
118+expect(listCompactionProviderIdsForTest()).toEqual(["dup"]);
116119});
117120118121describe("lifecycle (clear / restore)", () => {
119122it("clear removes all providers", () => {
120123registerCompactionProvider(makeProvider("a"));
121124registerCompactionProvider(makeProvider("b"));
122-expect(listCompactionProviderIds()).toHaveLength(2);
125+expect(listCompactionProviderIdsForTest()).toHaveLength(2);
123126124127clearCompactionProviders();
125-expect(listCompactionProviderIds()).toStrictEqual([]);
128+expect(listCompactionProviderIdsForTest()).toStrictEqual([]);
126129expect(getCompactionProvider("a")).toBeUndefined();
127130});
128131@@ -136,19 +139,19 @@ describe("compaction provider registry", () => {
136139137140// Register a third provider to change state
138141registerCompactionProvider(makeProvider("c"));
139-expect(listCompactionProviderIds()).toHaveLength(3);
142+expect(listCompactionProviderIdsForTest()).toHaveLength(3);
140143141144// Restore from snapshot — should have only a and b
142145restoreRegisteredCompactionProviders(snapshot);
143-expect(listCompactionProviderIds()).toEqual(["a", "b"]);
146+expect(listCompactionProviderIdsForTest()).toEqual(["a", "b"]);
144147expect(getCompactionProvider("c")).toBeUndefined();
145148expect(getRegisteredCompactionProvider("a")?.ownerPluginId).toBe("p-a");
146149});
147150148151it("restore with empty array clears everything", () => {
149152registerCompactionProvider(makeProvider("x"));
150153restoreRegisteredCompactionProviders([]);
151-expect(listCompactionProviderIds()).toStrictEqual([]);
154+expect(listCompactionProviderIdsForTest()).toStrictEqual([]);
152155});
153156});
154157});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。