@Test public void resolveViewNameNoDeviceNoSitePreferenceNormalSuffix() throws Exception { viewResolver.setNormalSuffix(".norm"); replayMocks(viewName + ".norm"); }
@Test public void resolveViewNameNormalDeviceSuffixFallback() throws Exception { device.setDeviceType(DeviceType.NORMAL); request.setAttribute(DeviceUtils.CURRENT_DEVICE_ATTRIBUTE, device); viewResolver.setNormalSuffix(".nor"); viewResolver.setEnableFallback(true); expect(delegateViewResolver.resolveViewName(viewName + ".nor", locale)).andReturn(null); expect(delegateViewResolver.resolveViewName(viewName, locale)).andReturn(view); replay(delegateViewResolver, view); View result = viewResolver.resolveViewName(viewName, locale); assertSame("Invalid view", view, result); verify(delegateViewResolver, view); }
@Test public void resolveViewNameNoDeviceNoSitePreferenceNormalPrefixAndSuffix() throws Exception { viewResolver.setNormalPrefix("normal/"); viewResolver.setNormalSuffix(".nor"); replayMocks("normal/" + viewName + ".nor"); }
@Test public void resolveViewNameNormalDeviceNoSitePreferenceNormalSuffix() throws Exception { device.setDeviceType(DeviceType.NORMAL); request.setAttribute(DeviceUtils.CURRENT_DEVICE_ATTRIBUTE, device); viewResolver.setNormalSuffix(".norm"); replayMocks(viewName + ".norm"); }
@Test public void resolveViewNameNormalDeviceNormalSuffixRedirect() throws Exception { this.viewName = "redirect:about"; device.setDeviceType(DeviceType.NORMAL); request.setAttribute(DeviceUtils.CURRENT_DEVICE_ATTRIBUTE, device); viewResolver.setNormalSuffix(".nor"); replayMocks("redirect:about"); }
@Test public void resolveViewNameMobileDeviceNormalSitePreferenceNormalSuffix() throws Exception { device.setDeviceType(DeviceType.MOBILE); request.setAttribute(DeviceUtils.CURRENT_DEVICE_ATTRIBUTE, device); request.setAttribute(SitePreferenceHandler.CURRENT_SITE_PREFERENCE_ATTRIBUTE, SitePreference.NORMAL); viewResolver.setNormalSuffix(".nor"); replayMocks(viewName + ".nor"); }
@Test public void resolveViewNameTabletDeviceNormalSitePreferenceNormalSuffix() throws Exception { device.setDeviceType(DeviceType.TABLET); request.setAttribute(DeviceUtils.CURRENT_DEVICE_ATTRIBUTE, device); request.setAttribute(SitePreferenceHandler.CURRENT_SITE_PREFERENCE_ATTRIBUTE, SitePreference.NORMAL); viewResolver.setNormalSuffix(".nor"); replayMocks(viewName + ".nor"); }
@Test public void resolveViewNameNormalDeviceNormalSitePreferenceNormalSuffix() throws Exception { device.setDeviceType(DeviceType.NORMAL); request.setAttribute(DeviceUtils.CURRENT_DEVICE_ATTRIBUTE, device); request.setAttribute(SitePreferenceHandler.CURRENT_SITE_PREFERENCE_ATTRIBUTE, SitePreference.NORMAL); viewResolver.setNormalSuffix(".nor"); replayMocks(viewName + ".nor"); }
@Test public void resolveViewNameNormalDeviceNoSitePreferenceNormalPrefixAndSuffix() throws Exception { device.setDeviceType(DeviceType.NORMAL); request.setAttribute(DeviceUtils.CURRENT_DEVICE_ATTRIBUTE, device); viewResolver.setNormalPrefix("normal/"); viewResolver.setNormalSuffix(".nor"); replayMocks("normal/" + viewName + ".nor"); }
@Test public void resolveViewNameTabletDeviceNormalSitePreferenceNormalPrefixAndSuffix() throws Exception { device.setDeviceType(DeviceType.TABLET); request.setAttribute(DeviceUtils.CURRENT_DEVICE_ATTRIBUTE, device); request.setAttribute(SitePreferenceHandler.CURRENT_SITE_PREFERENCE_ATTRIBUTE, SitePreference.NORMAL); viewResolver.setNormalPrefix("normal/"); viewResolver.setNormalSuffix(".nor"); replayMocks("normal/" + viewName + ".nor"); }
@Test public void resolveViewNameNormalDeviceNormalSitePreferenceNormalPrefixAndSuffix() throws Exception { device.setDeviceType(DeviceType.NORMAL); request.setAttribute(DeviceUtils.CURRENT_DEVICE_ATTRIBUTE, device); request.setAttribute(SitePreferenceHandler.CURRENT_SITE_PREFERENCE_ATTRIBUTE, SitePreference.NORMAL); viewResolver.setNormalPrefix("normal/"); viewResolver.setNormalSuffix(".nor"); replayMocks("normal/" + viewName + ".nor"); }
@Test public void resolveViewNameMobileDeviceNormalSitePreferenceNormalPrefixAndSuffix() throws Exception { device.setDeviceType(DeviceType.MOBILE); request.setAttribute(DeviceUtils.CURRENT_DEVICE_ATTRIBUTE, device); request.setAttribute(SitePreferenceHandler.CURRENT_SITE_PREFERENCE_ATTRIBUTE, SitePreference.NORMAL); viewResolver.setNormalPrefix("normal/"); viewResolver.setNormalSuffix(".nor"); replayMocks("normal/" + viewName + ".nor"); }
/** * Create a {@link LiteDeviceDelegatingViewResolver} delegating to the specified * {@link ViewResolver}. * @param delegate the view resolver to delegate to * @param delegatingOrder the order of the {@link LiteDeviceDelegatingViewResolver} * @return a {@link LiteDeviceDelegatingViewResolver} handling the specified resolver */ public LiteDeviceDelegatingViewResolver createViewResolver(ViewResolver delegate, int delegatingOrder) { LiteDeviceDelegatingViewResolver resolver = new LiteDeviceDelegatingViewResolver( delegate); resolver.setEnableFallback(this.properties.isEnableFallback()); resolver.setNormalPrefix(this.properties.getNormalPrefix()); resolver.setNormalSuffix(this.properties.getNormalSuffix()); resolver.setMobilePrefix(this.properties.getMobilePrefix()); resolver.setMobileSuffix(this.properties.getMobileSuffix()); resolver.setTabletPrefix(this.properties.getTabletPrefix()); resolver.setTabletSuffix(this.properties.getTabletSuffix()); resolver.setOrder(delegatingOrder); return resolver; }
/** * Create a {@link LiteDeviceDelegatingViewResolver} delegating to the specified * {@link ViewResolver}. * @param delegate the view resolver to delegate to * @param delegatingOrder the order of the {@link LiteDeviceDelegatingViewResolver} * @return a {@link LiteDeviceDelegatingViewResolver} handling the specified resolver */ public LiteDeviceDelegatingViewResolver createViewResolver(ViewResolver delegate, int delegatingOrder) { LiteDeviceDelegatingViewResolver resolver = new LiteDeviceDelegatingViewResolver( delegate); resolver.setEnableFallback(this.properties.isEnableFallback()); resolver.setNormalPrefix(this.properties.getNormalPrefix()); resolver.setNormalSuffix(this.properties.getNormalSuffix()); resolver.setMobilePrefix(this.properties.getMobilePrefix()); resolver.setMobileSuffix(this.properties.getMobileSuffix()); resolver.setTabletPrefix(this.properties.getTabletPrefix()); resolver.setTabletSuffix(this.properties.getTabletSuffix()); resolver.setOrder(delegatingOrder); return resolver; }