private void setExpectations(boolean noCache, Integer refresh) { EasyMock.expect(jsUri.isJsload()).andReturn(true); EasyMock.expect(jsUri.getOnload()).andReturn(ONLOAD_FUNCTION); jsUri.setJsload(false); jsUri.setNohint(true); EasyMock.expect(jsUriManager.makeExternJsUri(jsUri)).andReturn(uri); EasyMock.expect(jsUri.isNoCache()).andReturn(noCache); if (!noCache) { EasyMock.expect(jsUri.getRefresh()).andReturn(refresh); } }
private void setExpectations(boolean noCache, Integer refresh) { EasyMock.expect(jsUri.isJsload()).andReturn(true); EasyMock.expect(jsUri.getOnload()).andReturn(ONLOAD_FUNCTION); jsUri.setJsload(false); jsUri.setNohint(true); EasyMock.expect(jsUriManager.makeExternJsUri(jsUri)).andReturn(uri); EasyMock.expect(jsUri.isNoCache()).andReturn(noCache); if (!noCache) { EasyMock.expect(jsUri.getRefresh()).andReturn(refresh); } }
private JsUri mockJsUri(JsCompileMode mode, boolean isJsload) { JsUri result = createMock(JsUri.class); expect(result.getCompileMode()).andStubReturn(mode); expect(result.getRepository()).andStubReturn(null); expect(result.isJsload()).andReturn(isJsload).anyTimes(); replay(result); return result; }
private JsUri mockJsUri(String container, RenderingContext context, boolean debug, boolean jsload, boolean nocache, String onload, int refresh, UriStatus status, String... libs) { JsUri result = mock(JsUri.class); expect(result.getContainer()).andReturn(container).anyTimes(); expect(result.getContext()).andReturn(context).anyTimes(); expect(result.getOnload()).andReturn(onload).anyTimes(); expect(result.getRefresh()).andReturn(refresh).anyTimes(); expect(result.isDebug()).andReturn(debug).anyTimes(); expect(result.isNoCache()).andReturn(nocache).anyTimes(); expect(result.isJsload()).andReturn(jsload).anyTimes(); expect(result.getStatus()).andReturn(status).anyTimes(); if (libs != null) { expect(result.getLibs()).andReturn(Lists.newArrayList(libs)).anyTimes(); } return result; }
public boolean process(JsRequest jsRequest, JsResponseBuilder builder) throws JsException { JsUri jsUri = jsRequest.getJsUri(); ImmutableList.Builder<JsContent> resp = ImmutableList.builder(); FeatureRegistry featureRegistry = getFeatureRegistry(jsUri); boolean needDefers = false; if (jsUri.isJsload()) { // append all exports for deferred symbols List<FeatureBundle> bundles = getSupportDeferBundles(featureRegistry, jsRequest); for (FeatureBundle bundle : bundles) { needDefers |= appendDeferJsStatements(resp, jsRequest.getJsUri(), bundle); } } // TODO: Instead of clearing, do a replacement of feature impl with defer stubs. // Clearing has an effect of ignoring previous processors work. if (needDefers) { builder.appendAllJs(getSurfaceJsContents(featureRegistry, FEATURE_NAME)); } builder.appendAllJs(resp.build()); return true; }
public JsUri(UriStatus status, JsUri origJsUri) { super(status, origJsUri.getRefresh(), origJsUri.isDebug(), origJsUri.isNoCache(), origJsUri.getContainer(), origJsUri.getGadget()); this.setCajoleContent(origJsUri.cajoleContent()); this.libs = origJsUri.getLibs(); this.loadedLibs = origJsUri.getLoadedLibs(); this.onload = origJsUri.getOnload(); this.jsload = origJsUri.isJsload(); this.nohint = origJsUri.isNohint(); this.compileMode = origJsUri.getCompileMode(); this.context = origJsUri.getContext(); this.origUri = origJsUri.getOrigUri(); this.repository = origJsUri.getRepository(); this.extensionParams = origJsUri.getExtensionParams(); }
@Test public void newJsUriWithConfiguredGadgetContext() throws Exception { Uri uri = newTestUriBuilder(RenderingContext.CONFIGURED_GADGET, JsCompileMode.CONCAT_COMPILE_EXPORT_ALL).toUri(); JsUriManager.JsUri jsUri = new JsUriManager.JsUri(STATUS, uri, LIBS, HAVE); assertEquals(RenderingContext.CONFIGURED_GADGET, jsUri.getContext()); assertEquals(JsCompileMode.CONCAT_COMPILE_EXPORT_ALL, jsUri.getCompileMode()); assertEquals(CONTAINER_VALUE, jsUri.getContainer()); assertTrue(jsUri.isJsload()); assertTrue(jsUri.isNoCache()); assertTrue(jsUri.isNohint()); assertEquals(ONLOAD_VALUE, jsUri.getOnload()); assertEquals(LIBS, Lists.newArrayList(jsUri.getLibs())); assertEquals(HAVE, Lists.newArrayList(jsUri.getLoadedLibs())); assertEquals(uri, jsUri.getOrigUri()); }
@Test public void newJsUriWithOriginalUri() throws Exception { Uri uri = newTestUriBuilder(RenderingContext.CONTAINER, JsCompileMode.CONCAT_COMPILE_EXPORT_ALL).toUri(); JsUriManager.JsUri jsUri = new JsUriManager.JsUri(STATUS, uri, LIBS, HAVE); assertEquals(RenderingContext.CONTAINER, jsUri.getContext()); assertEquals(JsCompileMode.CONCAT_COMPILE_EXPORT_ALL, jsUri.getCompileMode()); assertEquals(CONTAINER_VALUE, jsUri.getContainer()); assertTrue(jsUri.isJsload()); assertTrue(jsUri.isNoCache()); assertTrue(jsUri.isNohint()); assertEquals(ONLOAD_VALUE, jsUri.getOnload()); assertEquals(LIBS, Lists.newArrayList(jsUri.getLibs())); assertEquals(HAVE, Lists.newArrayList(jsUri.getLoadedLibs())); assertEquals(uri, jsUri.getOrigUri()); }
private JsUri mockJsUri(String container, RenderingContext context, boolean debug, boolean jsload, boolean nocache, String onload, int refresh, UriStatus status, String... libs) { JsUri result = mock(JsUri.class); expect(result.getContainer()).andReturn(container).anyTimes(); expect(result.getContext()).andReturn(context).anyTimes(); expect(result.getOnload()).andReturn(onload).anyTimes(); expect(result.getRefresh()).andReturn(refresh).anyTimes(); expect(result.isDebug()).andReturn(debug).anyTimes(); expect(result.isNoCache()).andReturn(nocache).anyTimes(); expect(result.isJsload()).andReturn(jsload).anyTimes(); expect(result.getStatus()).andReturn(status).anyTimes(); if (libs != null) { expect(result.getLibs()).andReturn(Lists.newArrayList(libs)).anyTimes(); } return result; }
@Test public void newJsUriWithEmptyOriginalUri() throws Exception { JsUriManager.JsUri jsUri = new JsUriManager.JsUri(STATUS, null, Collections.<String>emptyList(), null); // Null URI. assertEquals(RenderingContext.GADGET, jsUri.getContext()); assertEquals(ContainerConfig.DEFAULT_CONTAINER, jsUri.getContainer()); assertEquals(JsCompileMode.COMPILE_CONCAT, jsUri.getCompileMode()); assertFalse(jsUri.isJsload()); assertFalse(jsUri.isNoCache()); assertFalse(jsUri.isNohint()); assertNull(jsUri.getOnload()); assertTrue(jsUri.getLibs().isEmpty()); assertTrue(jsUri.getLoadedLibs().isEmpty()); assertNull(jsUri.getOrigUri()); }
@Test public void newJsUriWithEmptyOriginalUri() throws Exception { JsUriManager.JsUri jsUri = new JsUriManager.JsUri(STATUS, null, Collections.<String>emptyList(), null); // Null URI. assertEquals(RenderingContext.GADGET, jsUri.getContext()); assertEquals(ContainerConfig.DEFAULT_CONTAINER, jsUri.getContainer()); assertEquals(JsCompileMode.COMPILE_CONCAT, jsUri.getCompileMode()); assertFalse(jsUri.isJsload()); assertFalse(jsUri.isNoCache()); assertFalse(jsUri.isNohint()); assertNull(jsUri.getOnload()); assertTrue(jsUri.getLibs().isEmpty()); assertTrue(jsUri.getLoadedLibs().isEmpty()); assertNull(jsUri.getOrigUri()); }
@Test public void newJsUriWithConfiguredGadgetContext() throws Exception { Uri uri = newTestUriBuilder(RenderingContext.CONFIGURED_GADGET, JsCompileMode.CONCAT_COMPILE_EXPORT_ALL).toUri(); JsUriManager.JsUri jsUri = new JsUriManager.JsUri(STATUS, uri, LIBS, HAVE); assertEquals(RenderingContext.CONFIGURED_GADGET, jsUri.getContext()); assertEquals(JsCompileMode.CONCAT_COMPILE_EXPORT_ALL, jsUri.getCompileMode()); assertEquals(CONTAINER_VALUE, jsUri.getContainer()); assertTrue(jsUri.isJsload()); assertTrue(jsUri.isNoCache()); assertTrue(jsUri.isNohint()); assertEquals(ONLOAD_VALUE, jsUri.getOnload()); assertEquals(LIBS, Lists.newArrayList(jsUri.getLibs())); assertEquals(HAVE, Lists.newArrayList(jsUri.getLoadedLibs())); assertEquals(uri, jsUri.getOrigUri()); }
@Test public void newJsUriWithOriginalUri() throws Exception { Uri uri = newTestUriBuilder(RenderingContext.CONTAINER, JsCompileMode.CONCAT_COMPILE_EXPORT_ALL).toUri(); JsUriManager.JsUri jsUri = new JsUriManager.JsUri(STATUS, uri, LIBS, HAVE); assertEquals(RenderingContext.CONTAINER, jsUri.getContext()); assertEquals(JsCompileMode.CONCAT_COMPILE_EXPORT_ALL, jsUri.getCompileMode()); assertEquals(CONTAINER_VALUE, jsUri.getContainer()); assertTrue(jsUri.isJsload()); assertTrue(jsUri.isNoCache()); assertTrue(jsUri.isNohint()); assertEquals(ONLOAD_VALUE, jsUri.getOnload()); assertEquals(LIBS, Lists.newArrayList(jsUri.getLibs())); assertEquals(HAVE, Lists.newArrayList(jsUri.getLoadedLibs())); assertEquals(uri, jsUri.getOrigUri()); }
@Test public void testFailsWhenNoOnloadIsSpecified() throws Exception { EasyMock.expect(jsUri.isJsload()).andReturn(true); EasyMock.expect(jsUri.getOnload()).andReturn(null); control.replay(); try { processor.process(request, response); fail("A JsException should have been thrown by the processor."); } catch (JsException e) { assertEquals(HttpServletResponse.SC_BAD_REQUEST, e.getStatusCode()); assertEquals(JsLoadProcessor.JSLOAD_ONLOAD_ERROR, e.getMessage()); } control.verify(); }
@Test public void testFailsWhenNoOnloadIsSpecified() throws Exception { EasyMock.expect(jsUri.isJsload()).andReturn(true); EasyMock.expect(jsUri.getOnload()).andReturn(null); control.replay(); try { processor.process(request, response); fail("A JsException should have been thrown by the processor."); } catch (JsException e) { assertEquals(HttpServletResponse.SC_BAD_REQUEST, e.getStatusCode()); assertEquals(JsLoadProcessor.JSLOAD_ONLOAD_ERROR, e.getMessage()); } control.verify(); }
@Test public void testSkipsWhenNoJsLoad() throws Exception { EasyMock.expect(jsUri.isJsload()).andReturn(false); response = control.createMock(JsResponseBuilder.class); control.replay(); assertTrue(processor.process(request, response)); control.verify(); }
private JsUri mockJsUri(JsCompileMode mode, boolean isJsload, List<String> libs) { JsUri result = createMock(JsUri.class); expect(result.getCompileMode()).andStubReturn(mode); expect(result.getRepository()).andStubReturn(null); expect(result.isJsload()).andReturn(isJsload).anyTimes(); expect(result.getLibs()).andReturn(libs).anyTimes(); expect(result.getLoadedLibs()).andReturn(LOADED).anyTimes(); replay(result); return result; }
@Test public void testSkipsWhenNoJsLoad() throws Exception { EasyMock.expect(jsUri.isJsload()).andReturn(false); response = control.createMock(JsResponseBuilder.class); control.replay(); assertTrue(processor.process(request, response)); control.verify(); }
private JsUri mockJsUri(JsCompileMode mode, boolean isJsload) { JsUri result = createMock(JsUri.class); expect(result.getCompileMode()).andStubReturn(mode); expect(result.getRepository()).andStubReturn(null); expect(result.isJsload()).andReturn(isJsload).anyTimes(); replay(result); return result; }
private JsUri mockJsUri(JsCompileMode mode, boolean isJsload, List<String> libs) { JsUri result = createMock(JsUri.class); expect(result.getCompileMode()).andStubReturn(mode); expect(result.getRepository()).andStubReturn(null); expect(result.isJsload()).andReturn(isJsload).anyTimes(); expect(result.getLibs()).andReturn(libs).anyTimes(); expect(result.getLoadedLibs()).andReturn(LOADED).anyTimes(); replay(result); return result; }