From 20aaaafce3dccd0a48c2e1e43403483f0f56d9c1 Mon Sep 17 00:00:00 2001 From: Iku-turso Date: Fri, 21 Oct 2022 15:20:01 +0300 Subject: [PATCH] Adapt application builder and tests to array-like paths over string-like paths Array-like paths do not have weakness for special characters as part of id, such as ".". Also note: the error messaging for clicking of application menu in application builder is a bit worse now I think, but the simplification of the test code is worth it in this case IMHO. Co-authored-by: Janne Savolainen Signed-off-by: Iku-turso --- .../application-menu.test.ts.snap | 90 +++++++++---------- ...ation-menu-in-legacy-extension-api.test.ts | 28 +++--- 2 files changed, 59 insertions(+), 59 deletions(-) diff --git a/src/features/application-menu/__snapshots__/application-menu.test.ts.snap b/src/features/application-menu/__snapshots__/application-menu.test.ts.snap index 36ef1e3c2c..175263ed60 100644 --- a/src/features/application-menu/__snapshots__/application-menu.test.ts.snap +++ b/src/features/application-menu/__snapshots__/application-menu.test.ts.snap @@ -3,50 +3,50 @@ exports[`application-menu given enough time passes populates application menu 1`] = ` Array [ "root", - "root.mac", - "root.mac.about", - "root.mac.separator-1", - "root.mac.navigate-to-preferences", - "root.mac.navigate-to-extensions", - "root.mac.separator-2", - "root.mac.services", - "root.mac.separator-3", - "root.mac.hide", - "root.mac.hide-others", - "root.mac.unhide", - "root.mac.separator-4", - "root.mac.quit", - "root.file", - "root.file.add-cluster", - "root.file.separator-1-for-file", - "root.file.close-window", - "root.edit", - "root.edit.undo", - "root.edit.redo", - "root.edit.separator-1-in-edit", - "root.edit.cut", - "root.edit.copy", - "root.edit.paste", - "root.edit.delete", - "root.edit.separator-2-in-edit", - "root.edit.selectAll", - "root.view", - "root.view.navigate-to-catalog", - "root.view.open-command-palette", - "root.view.separator-1-for-view", - "root.view.go-back", - "root.view.go-forward", - "root.view.reload", - "root.view.toggle-dev-tools", - "root.view.separator-2-for-view", - "root.view.reset-zoom", - "root.view.zoom-in", - "root.view.zoom-out", - "root.view.separator-3-for-view", - "root.view.toggle-full-screen", - "root.help", - "root.help.navigate-to-welcome", - "root.help.open-documentation", - "root.help.open-support", + "root -> mac", + "root -> mac -> about", + "root -> mac -> separator-1", + "root -> mac -> navigate-to-preferences", + "root -> mac -> navigate-to-extensions", + "root -> mac -> separator-2", + "root -> mac -> services", + "root -> mac -> separator-3", + "root -> mac -> hide", + "root -> mac -> hide-others", + "root -> mac -> unhide", + "root -> mac -> separator-4", + "root -> mac -> quit", + "root -> file", + "root -> file -> add-cluster", + "root -> file -> separator-1-for-file", + "root -> file -> close-window", + "root -> edit", + "root -> edit -> undo", + "root -> edit -> redo", + "root -> edit -> separator-1-in-edit", + "root -> edit -> cut", + "root -> edit -> copy", + "root -> edit -> paste", + "root -> edit -> delete", + "root -> edit -> separator-2-in-edit", + "root -> edit -> selectAll", + "root -> view", + "root -> view -> navigate-to-catalog", + "root -> view -> open-command-palette", + "root -> view -> separator-1-for-view", + "root -> view -> go-back", + "root -> view -> go-forward", + "root -> view -> reload", + "root -> view -> toggle-dev-tools", + "root -> view -> separator-2-for-view", + "root -> view -> reset-zoom", + "root -> view -> zoom-in", + "root -> view -> zoom-out", + "root -> view -> separator-3-for-view", + "root -> view -> toggle-full-screen", + "root -> help", + "root -> help -> navigate-to-welcome", + "root -> help -> open-documentation", + "root -> help -> open-support", ] `; 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 0f3899925e..8df6eb19a0 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.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", ]); }); @@ -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.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.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", ]); });