/** * Ensures that splash screens can't be launched on their own (they should only launch as a side effect of launching * a place that they intercept). This test came from the original test suite, and may not be all that relevant * anymore: it assumes that the ActivityManager might resolve a PlaceRequest to a SplashScreenActivity, and this is * currently not in the ActivityManager contract. */ @Test public void testSplashScreenActivityShouldNotLaunchOnItsOwn() throws Exception { final PlaceRequest somewhere = new DefaultPlaceRequest("Somewhere"); final SplashScreenActivity splashScreenActivity = mock(SplashScreenActivity.class); when(activityManager.getActivities(somewhere)).thenReturn(singleton((Activity) splashScreenActivity)); placeManager.goTo(somewhere); verify(splashScreenActivity, never()).onStartup(eq(somewhere)); verify(splashScreenActivity, never()).onOpen(); verify(newSplashScreenActiveEvent, never()).fire(any(NewSplashScreenActiveEvent.class)); assertFalse(placeManager.getActiveSplashScreens().contains(splashScreenActivity)); }
/** * At the time this test was made, splash screens were handled as special cases because they're ApplicationScoped rather than Dependent. */ @Test public void shouldStartSplashScreens() throws Exception { PlaceRequest oz = new DefaultPlaceRequest("oz"); List<SplashScreenActivity> splashScreenList = new ArrayList<SplashScreenActivity>(); SplashScreenActivity expectedSplashScreenActivity = makeEnabledSplashScreenThatIntercepts(kansas); SplashScreenActivity nonExpectedSplashScreenActivity = makeEnabledSplashScreenThatIntercepts(oz); splashScreenList.add(expectedSplashScreenActivity); when(activityBeansCache.getSplashScreens()).thenReturn(splashScreenList); SplashScreenActivity splashScreenActivity = activityManager.getSplashScreenInterceptor(kansas); assertSame(expectedSplashScreenActivity, splashScreenActivity); verify(splashScreenActivity, times(1)).onStartup(kansas); verify(nonExpectedSplashScreenActivity, never()).onStartup(any(PlaceRequest.class)); }
/** * Ensures that splash screens can't be launched on their own (they should only launch as a side effect of launching * a place that they intercept). This test came from the original test suite, and may not be all that relevant * anymore: it assumes that the ActivityManager might resolve a PlaceRequest to a SplashScreenActivity, and this is * currently not in the ActivityManager contract. */ @Test public void testSplashScreenActivityShouldNotLaunchOnItsOwn() throws Exception { final PlaceRequest somewhere = new DefaultPlaceRequest("Somewhere"); final SplashScreenActivity splashScreenActivity = mock(SplashScreenActivity.class); when(activityManager.getActivities(somewhere)).thenReturn(singleton((Activity) splashScreenActivity)); placeManager.goTo(somewhere); verify(splashScreenActivity, never()).onStartup(eq(somewhere)); verify(splashScreenActivity, never()).onOpen(); verify(newSplashScreenActiveEvent, never()).fire(any(NewSplashScreenActiveEvent.class)); assertFalse(placeManager.getActiveSplashScreens().contains(splashScreenActivity)); }
/** * At the time this test was made, splash screens were handled as special cases because they're ApplicationScoped rather than Dependent. */ @Test public void shouldStartSplashScreens() throws Exception { PlaceRequest oz = new DefaultPlaceRequest("oz"); List<SplashScreenActivity> splashScreenList = new ArrayList<SplashScreenActivity>(); SplashScreenActivity expectedSplashScreenActivity = makeEnabledSplashScreenThatIntercepts(kansas); SplashScreenActivity nonExpectedSplashScreenActivity = makeEnabledSplashScreenThatIntercepts(oz); splashScreenList.add(expectedSplashScreenActivity); when(activityBeansCache.getSplashScreens()).thenReturn(splashScreenList); SplashScreenActivity splashScreenActivity = activityManager.getSplashScreenInterceptor(kansas); assertSame(expectedSplashScreenActivity, splashScreenActivity); verify(splashScreenActivity, times(1)).onStartup(kansas); verify(nonExpectedSplashScreenActivity, never()).onStartup(any(PlaceRequest.class)); }
@Test public void testPartLaunchWithSplashScreen() throws Exception { PlaceRequest oz = new DefaultPlaceRequest("oz"); WorkbenchScreenActivity ozActivity = mock(WorkbenchScreenActivity.class); when(activityManager.getActivities(oz)).thenReturn(singleton((Activity) ozActivity)); when(ozActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); final SplashScreenActivity lollipopGuildActivity = mock(SplashScreenActivity.class); when(activityManager.getSplashScreenInterceptor(oz)).thenReturn(lollipopGuildActivity); when(lollipopGuildActivity.isType(ActivityResourceType.SPLASH.name())).thenReturn(true); placeManager.goTo(oz, (PanelDefinition) null); assertTrue(placeManager.getActiveSplashScreens().contains(lollipopGuildActivity)); verify(lollipopGuildActivity, never()).onStartup(any(PlaceRequest.class)); InOrder inOrder = inOrder(lollipopGuildActivity, newSplashScreenActiveEvent); inOrder.verify(lollipopGuildActivity).onOpen(); inOrder.verify(newSplashScreenActiveEvent).fire(any(NewSplashScreenActiveEvent.class)); }
@Test public void testPartLaunchWithSplashScreen() throws Exception { PlaceRequest oz = new DefaultPlaceRequest("oz"); WorkbenchScreenActivity ozActivity = mock(WorkbenchScreenActivity.class); when(activityManager.getActivities(oz)).thenReturn(singleton((Activity) ozActivity)); when(ozActivity.isType(ActivityResourceType.SCREEN.name())).thenReturn(true); final SplashScreenActivity lollipopGuildActivity = mock(SplashScreenActivity.class); when(activityManager.getSplashScreenInterceptor(oz)).thenReturn(lollipopGuildActivity); when(lollipopGuildActivity.isType(ActivityResourceType.SPLASH.name())).thenReturn(true); placeManager.goTo(oz, (PanelDefinition) null); assertTrue(placeManager.getActiveSplashScreens().contains(lollipopGuildActivity)); verify(lollipopGuildActivity, never()).onStartup(any(PlaceRequest.class)); InOrder inOrder = inOrder(lollipopGuildActivity, newSplashScreenActiveEvent); inOrder.verify(lollipopGuildActivity).onOpen(); inOrder.verify(newSplashScreenActiveEvent).fire(any(NewSplashScreenActiveEvent.class)); }
never()).onStartup(any(PlaceRequest.class));
never()).onStartup(any(PlaceRequest.class));