@Override public PlaceStatus getStatus(String id) { return getStatus(new DefaultPlaceRequest(id)); }
@Test public void testLaunchingPopup() throws Exception { final PlaceRequest popupPlace = new DefaultPlaceRequest("Somewhere"); final AbstractPopupActivity popupActivity = mock(AbstractPopupActivity.class); when(activityManager.getActivities(popupPlace)).thenReturn(singleton((Activity) popupActivity)); when(popupActivity.isType(ActivityResourceType.POPUP.name())).thenReturn(true); placeManager.goTo(popupPlace); verify(popupActivity, never()).onStartup(any(PlaceRequest.class)); verify(popupActivity, times(1)).onOpen(); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(popupPlace)); // TODO this test was moved here from the old test suite. it may not verify all required side effects of launching a popup. }
@Test public void testLaunchingPopup() throws Exception { final PlaceRequest popupPlace = new DefaultPlaceRequest("Somewhere"); final AbstractPopupActivity popupActivity = mock(AbstractPopupActivity.class); when(activityManager.getActivities(popupPlace)).thenReturn(singleton((Activity) popupActivity)); when(popupActivity.isType(ActivityResourceType.POPUP.name())).thenReturn(true); placeManager.goTo(popupPlace); verify(popupActivity, never()).onStartup(any(PlaceRequest.class)); verify(popupActivity, times(1)).onOpen(); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(popupPlace)); // TODO this test was moved here from the old test suite. it may not verify all required side effects of launching a popup. }
@Test public void testLaunchingPopupThatIsAlreadyOpen() throws Exception { final PlaceRequest popupPlace = new DefaultPlaceRequest("Somewhere"); final AbstractPopupActivity popupActivity = mock(AbstractPopupActivity.class); when(activityManager.getActivities(popupPlace)).thenReturn(singleton((Activity) popupActivity)); when(popupActivity.isType(ActivityResourceType.POPUP.name())).thenReturn(true); placeManager.goTo(popupPlace); placeManager.goTo(popupPlace); verify(popupActivity, never()).onStartup(any(PlaceRequest.class)); verify(popupActivity, times(1)).onOpen(); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(popupPlace)); }
@Test public void testPopupCancelsClose() throws Exception { final PlaceRequest popupPlace = new DefaultPlaceRequest("Somewhere"); final AbstractPopupActivity popupActivity = mock(AbstractPopupActivity.class); when(popupActivity.onMayClose()).thenReturn(false); when(popupActivity.isType(ActivityResourceType.POPUP.name())).thenReturn(true); when(activityManager.getActivities(popupPlace)).thenReturn(singleton((Activity) popupActivity)); placeManager.goTo(popupPlace); placeManager.closePlace(popupPlace); verify(popupActivity, never()).onClose(); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(popupPlace)); }
@Test public void testLaunchingPopupThatIsAlreadyOpen() throws Exception { final PlaceRequest popupPlace = new DefaultPlaceRequest("Somewhere"); final AbstractPopupActivity popupActivity = mock(AbstractPopupActivity.class); when(activityManager.getActivities(popupPlace)).thenReturn(singleton((Activity) popupActivity)); when(popupActivity.isType(ActivityResourceType.POPUP.name())).thenReturn(true); placeManager.goTo(popupPlace); placeManager.goTo(popupPlace); verify(popupActivity, never()).onStartup(any(PlaceRequest.class)); verify(popupActivity, times(1)).onOpen(); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(popupPlace)); }
@Test public void testPopupCancelsClose() throws Exception { final PlaceRequest popupPlace = new DefaultPlaceRequest("Somewhere"); final AbstractPopupActivity popupActivity = mock(AbstractPopupActivity.class); when(popupActivity.onMayClose()).thenReturn(false); when(popupActivity.isType(ActivityResourceType.POPUP.name())).thenReturn(true); when(activityManager.getActivities(popupPlace)).thenReturn(singleton((Activity) popupActivity)); placeManager.goTo(popupPlace); placeManager.closePlace(popupPlace); verify(popupActivity, never()).onClose(); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(popupPlace)); }
@Test public void testReLaunchingClosedPopup() throws Exception { final PlaceRequest popupPlace = new DefaultPlaceRequest("Somewhere"); final AbstractPopupActivity popupActivity = mock(AbstractPopupActivity.class); when(popupActivity.onMayClose()).thenReturn(true); when(popupActivity.isType(ActivityResourceType.POPUP.name())).thenReturn(true); when(activityManager.getActivities(popupPlace)).thenReturn(singleton((Activity) popupActivity)); placeManager.goTo(popupPlace); placeManager.closePlace(popupPlace); placeManager.goTo(popupPlace); verify(popupActivity, times(2)).onOpen(); verify(popupActivity, times(1)).onClose(); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(popupPlace)); }
@Test public void testReLaunchingClosedPopup() throws Exception { final PlaceRequest popupPlace = new DefaultPlaceRequest("Somewhere"); final AbstractPopupActivity popupActivity = mock(AbstractPopupActivity.class); when(popupActivity.onMayClose()).thenReturn(true); when(popupActivity.isType(ActivityResourceType.POPUP.name())).thenReturn(true); when(activityManager.getActivities(popupPlace)).thenReturn(singleton((Activity) popupActivity)); placeManager.goTo(popupPlace); placeManager.closePlace(popupPlace); placeManager.goTo(popupPlace); verify(popupActivity, times(2)).onOpen(); verify(popupActivity, times(1)).onClose(); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(popupPlace)); }
private void verifyPlaceNotClosed(final PlaceRequest place, final WorkbenchScreenActivity screenActivity) { verify(workbenchPartBeforeCloseEvent, never()).fire(refEq(new BeforeClosePlaceEvent(place, true, true))); verify(workbenchPartCloseEvent, never()).fire(refEq(new ClosePlaceEvent(place))); verify(screenActivity, never()).onClose(); verify(screenActivity, never()).onShutdown(); verify(activityManager, never()).destroyActivity(screenActivity); verify(panelManager, never()).removePartForPlace(place); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(place)); assertNotNull(placeManager.getActivity(place)); assertTrue(placeManager.getActivePlaceRequests().contains(place)); }
private void verifyPlaceNotClosed(final PlaceRequest place, final WorkbenchScreenActivity screenActivity) { verify(workbenchPartBeforeCloseEvent, never()).fire(refEq(new BeforeClosePlaceEvent(place, true, true))); verify(workbenchPartCloseEvent, never()).fire(refEq(new ClosePlaceEvent(place))); verify(screenActivity, never()).onClose(); verify(screenActivity, never()).onShutdown(); verify(activityManager, never()).destroyActivity(screenActivity); verify(panelManager, never()).removePartForPlace(place); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(place)); assertNotNull(placeManager.getActivity(place)); assertTrue(placeManager.getActivePlaceRequests().contains(place)); }
private void verifyPlaceClosed(final PlaceRequest place, final WorkbenchScreenActivity screenActivity) { verify(workbenchPartBeforeCloseEvent).fire(refEq(new BeforeClosePlaceEvent(place, true, true))); verify(workbenchPartCloseEvent).fire(refEq(new ClosePlaceEvent(place))); verify(screenActivity).onMayClose(); verify(screenActivity).onClose(); verify(screenActivity, never()).onShutdown(); verify(activityManager).destroyActivity(screenActivity); verify(panelManager).removePartForPlace(place); assertEquals(PlaceStatus.CLOSE, placeManager.getStatus(place)); assertNull(placeManager.getActivity(place)); assertFalse(placeManager.getActivePlaceRequests().contains(place)); }
@Test public void testCanceledCloseExistingScreenActivity() throws Exception { when(kansasActivity.onMayClose()).thenReturn(false); when(kansasActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); placeManager.closePlace(kansas); verify(workbenchPartBeforeCloseEvent).fire(refEq(new BeforeClosePlaceEvent(kansas, false, true))); verify(workbenchPartCloseEvent, never()).fire(refEq(new ClosePlaceEvent(kansas))); verify(kansasActivity).onMayClose(); verify(kansasActivity, never()).onClose(); verify(kansasActivity, never()).onShutdown(); verify(activityManager, never()).destroyActivity(kansasActivity); verify(panelManager, never()).removePartForPlace(kansas); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(kansas)); assertSame(kansasActivity, placeManager.getActivity(kansas)); assertTrue(placeManager.getActivePlaceRequests().contains(kansas)); }
/** * Tests the basics of launching a perspective. We call it "empty" because this perspective doesn't have any panels * or parts in its definition. */ @Test public void testLaunchingEmptyPerspective() throws Exception { PerspectiveActivity ozPerspectiveActivity = mock(PerspectiveActivity.class); PlaceRequest ozPerspectivePlace = new DefaultPlaceRequest("oz_perspective"); PerspectiveDefinition ozPerspectiveDef = new PerspectiveDefinitionImpl(); when(activityManager.getActivities(ozPerspectivePlace)) .thenReturn(singleton((Activity) ozPerspectiveActivity)); when(ozPerspectiveActivity.getDefaultPerspectiveLayout()).thenReturn(ozPerspectiveDef); when(ozPerspectiveActivity.getPlace()).thenReturn(ozPerspectivePlace); when(ozPerspectiveActivity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); placeManager.goTo(ozPerspectivePlace); // verify perspective changed to oz verify(perspectiveManager).savePerspectiveState(any(Command.class)); verify(perspectiveManager).switchToPerspective(any(PlaceRequest.class), eq(ozPerspectiveActivity), any(ParameterizedCommand.class)); verify(ozPerspectiveActivity).onOpen(); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(ozPerspectivePlace)); assertTrue(placeManager.getActivePlaceRequests().contains(ozPerspectivePlace)); assertEquals(ozPerspectiveActivity, placeManager.getActivity(ozPerspectivePlace)); verify(workbenchLayout).onResize(); }
private void verifyPlaceClosed(final PlaceRequest place, final WorkbenchScreenActivity screenActivity) { verify(workbenchPartBeforeCloseEvent).fire(refEq(new BeforeClosePlaceEvent(place, true, true))); verify(workbenchPartCloseEvent).fire(refEq(new ClosePlaceEvent(place))); verify(screenActivity).onMayClose(); verify(screenActivity).onClose(); verify(screenActivity, never()).onShutdown(); verify(activityManager).destroyActivity(screenActivity); verify(panelManager).removePartForPlace(place); assertEquals(PlaceStatus.CLOSE, placeManager.getStatus(place)); assertNull(placeManager.getActivity(place)); assertFalse(placeManager.getActivePlaceRequests().contains(place)); }
@Test public void testNormalCloseExistingScreenActivity() throws Exception { when(kansasActivity.onMayClose()).thenReturn(true); when(kansasActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); placeManager.closePlace(kansas); verify(workbenchPartBeforeCloseEvent).fire(refEq(new BeforeClosePlaceEvent(kansas, false, true))); verify(workbenchPartCloseEvent).fire(refEq(new ClosePlaceEvent(kansas))); verify(kansasActivity).onMayClose(); verify(kansasActivity).onClose(); verify(kansasActivity, never()).onShutdown(); verify(activityManager).destroyActivity(kansasActivity); verify(panelManager).removePartForPlace(kansas); assertEquals(PlaceStatus.CLOSE, placeManager.getStatus(kansas)); assertNull(placeManager.getActivity(kansas)); assertFalse(placeManager.getActivePlaceRequests().contains(kansas)); }
/** * Tests the basics of launching a perspective. We call it "empty" because this perspective doesn't have any panels * or parts in its definition. */ @Test public void testLaunchingEmptyPerspective() throws Exception { PerspectiveActivity ozPerspectiveActivity = mock(PerspectiveActivity.class); PlaceRequest ozPerspectivePlace = new DefaultPlaceRequest("oz_perspective"); PerspectiveDefinition ozPerspectiveDef = new PerspectiveDefinitionImpl(); when(activityManager.getActivities(ozPerspectivePlace)) .thenReturn(singleton((Activity) ozPerspectiveActivity)); when(ozPerspectiveActivity.getDefaultPerspectiveLayout()).thenReturn(ozPerspectiveDef); when(ozPerspectiveActivity.getPlace()).thenReturn(ozPerspectivePlace); when(ozPerspectiveActivity.isType(ActivityResourceType.PERSPECTIVE.name())).thenReturn(true); placeManager.goTo(ozPerspectivePlace); // verify perspective changed to oz verify(perspectiveManager).savePerspectiveState(any(Command.class)); verify(perspectiveManager).switchToPerspective(any(PlaceRequest.class), eq(ozPerspectiveActivity), any(ParameterizedCommand.class)); verify(ozPerspectiveActivity).onOpen(); assertEquals(PlaceStatus.OPEN, placeManager.getStatus(ozPerspectivePlace)); assertTrue(placeManager.getActivePlaceRequests().contains(ozPerspectivePlace)); assertEquals(ozPerspectiveActivity, placeManager.getActivity(ozPerspectivePlace)); verify(workbenchLayout).onResize(); }
@Test public void testNormalCloseExistingScreenActivity() throws Exception { when(kansasActivity.onMayClose()).thenReturn(true); when(kansasActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); placeManager.closePlace(kansas); verify(workbenchPartBeforeCloseEvent).fire(refEq(new BeforeClosePlaceEvent(kansas, false, true))); verify(workbenchPartCloseEvent).fire(refEq(new ClosePlaceEvent(kansas))); verify(kansasActivity).onMayClose(); verify(kansasActivity).onClose(); verify(kansasActivity, never()).onShutdown(); verify(activityManager).destroyActivity(kansasActivity); verify(panelManager).removePartForPlace(kansas); assertEquals(PlaceStatus.CLOSE, placeManager.getStatus(kansas)); assertNull(placeManager.getActivity(kansas)); assertFalse(placeManager.getActivePlaceRequests().contains(kansas)); }
@Test public void testForceCloseExistingScreenActivity() throws Exception { when(kansasActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); placeManager.forceClosePlace(kansas); verify(workbenchPartBeforeCloseEvent).fire(refEq(new BeforeClosePlaceEvent(kansas, true, true))); verify(workbenchPartCloseEvent).fire(refEq(new ClosePlaceEvent(kansas))); verify(kansasActivity, never()).onMayClose(); verify(kansasActivity).onClose(); verify(kansasActivity, never()).onShutdown(); verify(activityManager).destroyActivity(kansasActivity); verify(panelManager).removePartForPlace(kansas); assertEquals(PlaceStatus.CLOSE, placeManager.getStatus(kansas)); assertNull(placeManager.getActivity(kansas)); assertFalse(placeManager.getActivePlaceRequests().contains(kansas)); }
@Test public void testForceCloseExistingScreenActivity() throws Exception { when(kansasActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); placeManager.forceClosePlace(kansas); verify(workbenchPartBeforeCloseEvent).fire(refEq(new BeforeClosePlaceEvent(kansas, true, true))); verify(workbenchPartCloseEvent).fire(refEq(new ClosePlaceEvent(kansas))); verify(kansasActivity, never()).onMayClose(); verify(kansasActivity).onClose(); verify(kansasActivity, never()).onShutdown(); verify(activityManager).destroyActivity(kansasActivity); verify(panelManager).removePartForPlace(kansas); assertEquals(PlaceStatus.CLOSE, placeManager.getStatus(kansas)); assertNull(placeManager.getActivity(kansas)); assertFalse(placeManager.getActivePlaceRequests().contains(kansas)); }