Command generateBreadCrumbSelectCommand(final String perspective, final DefaultBreadcrumbsPresenter breadCrumb, final PlaceRequest placeRequest, final Command command) { if (command == null) { return null; } return () -> { removeDeepLevelBreadcrumbsIfNecessary(perspective, breadCrumb); breadCrumb.deactivate(); if (placeRequest != null) { placeManager.goTo(placeRequest); } updateView(); command.execute(); }; }
Command generateBreadCrumbSelectCommand(final String perspective, final DefaultBreadcrumbsPresenter breadCrumb, final PlaceRequest placeRequest, final Command command) { if (command == null) { return null; } return () -> { removeDeepLevelBreadcrumbsIfNecessary(perspective, breadCrumb); breadCrumb.deactivate(); if (placeRequest != null) { placeManager.goTo(placeRequest); } updateView(); command.execute(); }; }
@Test public void doesNotRemoveDeepLevelBreadcrumbsTest() { uberfireBreadcrumbs.addBreadCrumb("myperspective", "label", () -> { }, false); uberfireBreadcrumbs.addBreadCrumb("myperspective", "label2", () -> { }, false); uberfireBreadcrumbs.addBreadCrumb("myperspective", "label3", () -> { }, false); List<BreadcrumbPresenter> breadcrumbs = uberfireBreadcrumbs.breadcrumbsPerPerspective.get("myperspective"); uberfireBreadcrumbs.removeDeepLevelBreadcrumbsIfNecessary("myperspective", (DefaultBreadcrumbsPresenter) breadcrumbs.get(0)); assertEquals(3, uberfireBreadcrumbs.breadcrumbsPerPerspective.get("myperspective").size()); }
@Test public void removeDeepLevelBreadcrumbsTest() { uberfireBreadcrumbs.addBreadCrumb("myperspective", "label", new DefaultPlaceRequest("screen")); uberfireBreadcrumbs .addBreadCrumb("myperspective", "label2", new DefaultPlaceRequest("screen2")); uberfireBreadcrumbs.addBreadCrumb("myperspective", "label3", new DefaultPlaceRequest("screen3")); List<BreadcrumbPresenter> breadcrumbs = uberfireBreadcrumbs.breadcrumbsPerPerspective.get("myperspective"); uberfireBreadcrumbs.removeDeepLevelBreadcrumbsIfNecessary("myperspective", (DefaultBreadcrumbsPresenter) breadcrumbs.get(0)); assertEquals(1, uberfireBreadcrumbs.breadcrumbsPerPerspective.get("myperspective").size()); }