diff --git a/src/common/utils/composite/get-composite-paths/get-composite-paths.test.ts b/src/common/utils/composite/get-composite-paths/get-composite-paths.test.ts index ee2e48270d..67870713f0 100644 --- a/src/common/utils/composite/get-composite-paths/get-composite-paths.test.ts +++ b/src/common/utils/composite/get-composite-paths/get-composite-paths.test.ts @@ -51,11 +51,11 @@ describe("get-composite-paths", () => { const actual = getCompositePaths(composite); expect(actual).toEqual([ - "some-root-id", - "some-root-id -> some-child-id-1", - "some-root-id -> some-child-id-1 -> some-grandchild-id-1", - "some-root-id -> some-child-id-1 -> some-grandchild-id-2", - "some-root-id -> some-child-id-2", + ["some-root-id"], + ["some-root-id", "some-child-id-1"], + ["some-root-id", "some-child-id-1", "some-grandchild-id-1"], + ["some-root-id", "some-child-id-1", "some-grandchild-id-2"], + ["some-root-id", "some-child-id-2"], ]); }); }); diff --git a/src/common/utils/composite/get-composite-paths/get-composite-paths.ts b/src/common/utils/composite/get-composite-paths/get-composite-paths.ts index 2739d912f2..2b97467431 100644 --- a/src/common/utils/composite/get-composite-paths/get-composite-paths.ts +++ b/src/common/utils/composite/get-composite-paths/get-composite-paths.ts @@ -9,4 +9,4 @@ import { getCompositeNormalization } from "../get-composite-normalization/get-co export const getCompositePaths = ( composite: Composite, -): string[] => pipeline(composite, getCompositeNormalization, map(([path]) => path.join(" -> "))); +): string[][] => pipeline(composite, getCompositeNormalization, map(([path]) => path)); diff --git a/src/common/utils/composite/get-composite/get-composite.test.ts b/src/common/utils/composite/get-composite/get-composite.test.ts index dd9568f439..82df8aa5ed 100644 --- a/src/common/utils/composite/get-composite/get-composite.test.ts +++ b/src/common/utils/composite/get-composite/get-composite.test.ts @@ -224,7 +224,7 @@ Available parent ids are: it("creates composite without the orphan item, and without throwing", () => { const paths = getCompositePaths(composite); - expect(paths).toEqual(["some-root-id"]); + expect(paths).toEqual([["some-root-id"]]); }); it("handles the missing parent ids", () => { @@ -379,11 +379,11 @@ Available parent ids are: const orderedPaths = getCompositePaths(composite); expect(orderedPaths).toEqual([ - "some-root-id", - "some-root-id -> some-id-1", - "some-root-id -> some-id-1 -> some-child-id-1", - "some-root-id -> some-id-1 -> some-child-id-2", - "some-root-id -> some-id-2", + ["some-root-id"], + ["some-root-id", "some-id-1"], + ["some-root-id", "some-id-1", "some-child-id-1"], + ["some-root-id", "some-id-1", "some-child-id-2"], + ["some-root-id", "some-id-2"], ]); }); @@ -435,11 +435,11 @@ Available parent ids are: const orderedPaths = getCompositePaths(composite); expect(orderedPaths).toEqual([ - "some-root-id", - "some-root-id -> some-id-1", - "some-root-id -> some-id-1 -> some-child-id-1", - "some-root-id -> some-id-1 -> some-child-id-2", - "some-root-id -> some-id-2", + ["some-root-id"], + ["some-root-id", "some-id-1"], + ["some-root-id", "some-id-1", "some-child-id-1"], + ["some-root-id", "some-id-1", "some-child-id-2"], + ["some-root-id", "some-id-2"], ]); }); }); diff --git a/src/features/application-menu/application-menu-in-legacy-extension-api.test.ts b/src/features/application-menu/application-menu-in-legacy-extension-api.test.ts index 8df6eb19a0..888f89f251 100644 --- a/src/features/application-menu/application-menu-in-legacy-extension-api.test.ts +++ b/src/features/application-menu/application-menu-in-legacy-extension-api.test.ts @@ -92,16 +92,16 @@ describe("application-menu-in-legacy-extension-api", () => { it("related menu items exist", () => { const menuItemPathsForExtension = builder.applicationMenu.items.filter( (x) => - x.startsWith("root -> some-top-menu-item -> some-extension-name"), + x.join(".").startsWith("root.some-top-menu-item.some-extension-name"), ); expect(menuItemPathsForExtension).toEqual([ - "root -> some-top-menu-item -> some-extension-name/some-clickable-item", + ["root", "some-top-menu-item", "some-extension-name/some-clickable-item"], // Note: anonymous index "1" is used by the non-visible menu item. - "root -> some-top-menu-item -> some-extension-name/2-separator", - "root -> some-top-menu-item -> some-extension-name/some-os-action-menu-item-id", - "root -> some-top-menu-item -> some-extension-name/some-submenu-with-explicit-children", - "root -> some-top-menu-item -> some-extension-name/some-submenu-with-explicit-children -> some-extension-name/some-submenu-with-explicit-children/some-explicit-child", + ["root", "some-top-menu-item", "some-extension-name/2-separator"], + ["root", "some-top-menu-item", "some-extension-name/some-os-action-menu-item-id"], + ["root", "some-top-menu-item", "some-extension-name/some-submenu-with-explicit-children"], + ["root", "some-top-menu-item", "some-extension-name/some-submenu-with-explicit-children", "some-extension-name/some-submenu-with-explicit-children/some-explicit-child"], ]); }); @@ -121,7 +121,7 @@ describe("application-menu-in-legacy-extension-api", () => { it("when related menu items no longer exist", () => { const menuItemPathsForExtension = builder.applicationMenu.items.filter( (x) => - x.startsWith("root.some-top-menu-item.some-extension-name"), + x.join(".").startsWith("root.some-top-menu-item.some-extension-name"), ); expect(menuItemPathsForExtension).toEqual([]); @@ -132,15 +132,15 @@ describe("application-menu-in-legacy-extension-api", () => { const menuItemPathsForExtension = builder.applicationMenu.items.filter( (x) => - x.startsWith("root -> some-top-menu-item -> some-extension-name"), + x.join(".").startsWith("root.some-top-menu-item.some-extension-name"), ); expect(menuItemPathsForExtension).toEqual([ - "root -> some-top-menu-item -> some-extension-name/some-clickable-item", - "root -> some-top-menu-item -> some-extension-name/2-separator", - "root -> some-top-menu-item -> some-extension-name/some-os-action-menu-item-id", - "root -> some-top-menu-item -> some-extension-name/some-submenu-with-explicit-children", - "root -> some-top-menu-item -> some-extension-name/some-submenu-with-explicit-children -> some-extension-name/some-submenu-with-explicit-children/some-explicit-child", + ["root", "some-top-menu-item", "some-extension-name/some-clickable-item"], + ["root", "some-top-menu-item", "some-extension-name/2-separator"], + ["root", "some-top-menu-item", "some-extension-name/some-os-action-menu-item-id"], + ["root", "some-top-menu-item", "some-extension-name/some-submenu-with-explicit-children"], + ["root", "some-top-menu-item", "some-extension-name/some-submenu-with-explicit-children", "some-extension-name/some-submenu-with-explicit-children/some-explicit-child"], ]); }); }); @@ -180,11 +180,11 @@ describe("application-menu-in-legacy-extension-api", () => { it("only recognizable menu items from extension exist", () => { const menuItemPathsForExtension = builder.applicationMenu.items.filter( (x) => - x.startsWith("root -> some-top-menu-item -> some-extension-name"), + x.join(".").startsWith("root.some-top-menu-item.some-extension-name"), ); expect(menuItemPathsForExtension).toEqual([ - "root -> some-top-menu-item -> some-extension-name/some-recognizable-item", + ["root", "some-top-menu-item", "some-extension-name/some-recognizable-item"], ]); }); diff --git a/src/features/application-menu/application-menu.test.ts b/src/features/application-menu/application-menu.test.ts index b355ee00c4..30f4c52957 100644 --- a/src/features/application-menu/application-menu.test.ts +++ b/src/features/application-menu/application-menu.test.ts @@ -36,7 +36,7 @@ describe("application-menu", () => { }); describe("given enough time passes", () => { - let applicationMenuPaths: string[]; + let applicationMenuPaths: string[][]; beforeEach(() => { advanceFakeTime(100); diff --git a/src/features/application-menu/handling-of-orphan-application-menu-items.test.ts b/src/features/application-menu/handling-of-orphan-application-menu-items.test.ts index cd5634ab43..45e5d4e3aa 100644 --- a/src/features/application-menu/handling-of-orphan-application-menu-items.test.ts +++ b/src/features/application-menu/handling-of-orphan-application-menu-items.test.ts @@ -57,7 +57,7 @@ describe("handling-of-orphan-application-menu-items, given orphan menu item", () }); describe("given some time passes", () => { - let applicationMenuPaths: string[]; + let applicationMenuPaths: string[][]; beforeEach(() => { advanceFakeTime(100); @@ -72,7 +72,7 @@ describe("handling-of-orphan-application-menu-items, given orphan menu item", () }); it("does not show orphan application menu item", () => { - expect(applicationMenuPaths.find(x => x.endsWith("some-item-id"))); + expect(applicationMenuPaths.find(x => x.join(".").endsWith("some-item-id"))); }); it("logs about bad menu item", () => { diff --git a/src/renderer/components/test-utils/get-application-builder.tsx b/src/renderer/components/test-utils/get-application-builder.tsx index b3373f562f..7d57093f18 100644 --- a/src/renderer/components/test-utils/get-application-builder.tsx +++ b/src/renderer/components/test-utils/get-application-builder.tsx @@ -127,7 +127,7 @@ export interface ApplicationBuilder { applicationMenu: { click: (...path: string[]) => void; - items: string[]; + items: string[][]; }; preferences: { close: () => void;