Consolidate output of get-composite-path to match find-composite's input

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>
This commit is contained in:
Janne Savolainen authored and Iku-turso committed 2022-10-24 09:28:46 +03:00
1 parent 20aaaafce3
commit 1eb45ac1a4
7 files changed
+36 -36

No files matched your search

@@ -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"],
]);
});
});
@@ -9,4 +9,4 @@ import { getCompositeNormalization } from "../get-composite-normalization/get-co
export const getCompositePaths = (
composite: Composite<unknown>,
): string[] => pipeline(composite, getCompositeNormalization, map(([path]) => path.join(" -> ")));
): string[][] => pipeline(composite, getCompositeNormalization, map(([path]) => path));
@@ -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"],
]);
});
});
@@ -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"],
]);
});
@@ -36,7 +36,7 @@ describe("application-menu", () => {
});
describe("given enough time passes", () => {
let applicationMenuPaths: string[];
let applicationMenuPaths: string[][];
beforeEach(() => {
advanceFakeTime(100);
@@ -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", () => {
@@ -127,7 +127,7 @@ export interface ApplicationBuilder {
applicationMenu: {
click: (...path: string[]) => void;
items: string[];
items: string[][];
};
preferences: {
close: () => void;