public JsResponse execute(JsRequest jsRequest) throws JsException { JsResponseBuilder resp = new JsResponseBuilder(); jsProcessorRegistry.process(jsRequest, resp); final JsResponse response = resp.build(); if (response.isError()) { throw new JsException(response.getStatusCode(), response.toErrorString()); } return response; } }
@Test public void testWithHint() throws Exception { EasyMock.expect(jsUri.getOnload()).andReturn(null); EasyMock.expect(jsUri.isNohint()).andReturn(false); control.replay(); assertTrue(processor.process(request, response)); assertEquals("", response.build().toJsString()); control.verify(); } }
@Test public void testWithHint() throws Exception { EasyMock.expect(jsUri.getOnload()).andReturn(null); EasyMock.expect(jsUri.isNohint()).andReturn(false); control.replay(); assertTrue(processor.process(request, response)); assertEquals("", response.build().toJsString()); control.verify(); } }
@Test public void testGeneratesCallbackCode() throws Exception { EasyMock.expect(jsUri.getOnload()).andReturn(ONLOAD_FUNCTION); control.replay(); assertTrue(processor.process(request, response)); assertEquals(HttpServletResponse.SC_OK, response.getStatusCode()); String expectedBody = String.format(AddOnloadFunctionProcessor.ONLOAD_JS_TPL, ONLOAD_FUNCTION); assertEquals(expectedBody, response.build().toJsString()); control.verify(); }
@Test public void featureInfo() throws Exception { setJsUri(URI); control.replay(); processor.process(request, response); String expected = String.format(AddJslInfoVariableProcessor.BASE_HINT_TEMPLATE + AddJslInfoVariableProcessor.FEATURES_HINT_TEMPLATE, LIBS_JS); assertEquals(expected, response.build().toJsString()); control.verify(); }
@Test public void featureInfo() throws Exception { setJsUri(URI); control.replay(); processor.process(request, response); String expected = String.format(AddJslInfoVariableProcessor.BASE_HINT_TEMPLATE + AddJslInfoVariableProcessor.FEATURES_HINT_TEMPLATE, LIBS_JS); assertEquals(expected, response.build().toJsString()); control.verify(); }
@Test public void testSucceeds() throws Exception { setUpJsUri(URI + "/" + REQ_1_LIB + ".js"); control.replay(); processor.process(request, response); assertEquals(String.format(AddJslLoadedVariableProcessor.TEMPLATE, "['foo','gig']"), response.build().toJsString()); control.verify(); }
@Test public void testSucceeds() throws Exception { setUpJsUri(URI + "/" + REQ_1_LIB + ".js"); control.replay(); processor.process(request, response); assertEquals(String.format(AddJslLoadedVariableProcessor.TEMPLATE, "['foo','gig']"), response.build().toJsString()); control.verify(); }
@Test @SuppressWarnings("unchecked") public void noCajoleRequest() throws Exception { JsUri uri = mockJsUri(false); JsRequest request = mockJsRequest(uri); control.replay(); boolean actualReturn = processor.process(request, builder); JsResponse actualResponse = builder.build(); control.verify(); assertTrue(actualReturn); assertEquals(Strings.repeat(NORMAL_CONTENT_JS, 3), actualResponse.toJsString()); }
@Test @SuppressWarnings("unchecked") public void noCajoleRequest() throws Exception { JsUri uri = mockJsUri(false); JsRequest request = mockJsRequest(uri); control.replay(); boolean actualReturn = processor.process(request, builder); JsResponse actualResponse = builder.build(); control.verify(); assertTrue(actualReturn); assertEquals(Strings.repeat(NORMAL_CONTENT_JS, 3), actualResponse.toJsString()); }
@Test public void skipsWhenNohintIsTrue() throws Exception { setJsUri(URI + "?nohint=1"); control.replay(); processor.process(request, response); assertEquals("", response.build().toJsString()); control.verify(); }
@Test public void processWithOneNonEmptyFeatureDeferredNotSupported() throws Exception { JsUri jsUri = mockJsUri(JsCompileMode.CONCAT_COMPILE_EXPORT_ALL, true, LIBS_WITHOUT_DEFER); JsRequest jsRequest = new JsRequest(jsUri, null, false, featureRegistry); JsResponseBuilder jsBuilder = new JsResponseBuilder(); boolean actualReturnCode = processor.process(jsRequest, jsBuilder); assertTrue(actualReturnCode); assertEquals( "", jsBuilder.build().toJsString()); }
@Test public void processEmpty() throws Exception { JsUri jsUri = mockJsUri(JsCompileMode.CONCAT_COMPILE_EXPORT_ALL); JsRequest jsRequest = new JsRequest(jsUri, null, false, null); JsResponseBuilder jsBuilder = new JsResponseBuilder(); boolean actualReturnCode = processor.process(jsRequest, jsBuilder); assertTrue(actualReturnCode); assertEquals("", jsBuilder.build().toJsString()); }
@Test public void gadgetGetsNothing() throws Exception { JsResponseBuilder builder = prepareRequestReturnBuilder(RenderingContext.GADGET); control.replay(); assertTrue(processor.process(request, builder)); control.verify(); assertEquals(BASE_CODE, builder.build().toJsString()); }
@Test public void testNoFeature() throws Exception { JsResponseBuilder builder = newBuilder(); control.replay(); boolean actualReturn = processor.process(null, builder); JsResponse actualResponse = builder.build(); control.verify(); assertTrue(actualReturn); assertEquals("", actualResponse.toJsString()); }
@Test public void processWithOneNonEmptyFeatureDeferred() throws Exception { JsUri jsUri = mockJsUri(JsCompileMode.CONCAT_COMPILE_EXPORT_ALL, true, LIBS_WITH_DEFER); JsRequest jsRequest = new JsRequest(jsUri, null, false, featureRegistry); JsResponseBuilder jsBuilder = new JsResponseBuilder(); boolean actualReturnCode = processor.process(jsRequest, jsBuilder); assertTrue(actualReturnCode); assertEquals( DEFER_JS_DEB + EXPORT_STRING_1_DEFER, jsBuilder.build().toJsString()); }
@Test public void processWithOneText() throws Exception { JsUri jsUri = mockJsUri(JsCompileMode.CONCAT_COMPILE_EXPORT_ALL); JsRequest jsRequest = new JsRequest(jsUri, null, false, null); JsResponseBuilder jsBuilder = new JsResponseBuilder(); jsBuilder.appendJs(textJsContent1); boolean actualReturnCode = processor.process(jsRequest, jsBuilder); assertTrue(actualReturnCode); assertEquals( TEXT_CONTENT_1, jsBuilder.build().toJsString()); }
@Test public void processWithOneText() throws Exception { JsUri jsUri = mockJsUri(JsCompileMode.CONCAT_COMPILE_EXPORT_ALL); JsRequest jsRequest = new JsRequest(jsUri, null, false, null); JsResponseBuilder jsBuilder = new JsResponseBuilder(); jsBuilder.appendJs(textJsContent1); boolean actualReturnCode = processor.process(jsRequest, jsBuilder); assertTrue(actualReturnCode); assertEquals( TEXT_CONTENT_1, jsBuilder.build().toJsString()); }
@Test public void processWithOneNonEmptyFeature() throws Exception { JsUri jsUri = mockJsUri(JsCompileMode.CONCAT_COMPILE_EXPORT_ALL); JsRequest jsRequest = new JsRequest(jsUri, null, false, null); JsResponseBuilder jsBuilder = new JsResponseBuilder(); jsBuilder.appendJs(featureJsContent1); boolean actualReturnCode = processor.process(jsRequest, jsBuilder); assertTrue(actualReturnCode); assertEquals( EXPORT_JS_DEB + FEATURE_CONTENT_1 + EXPORT_STRING_1, jsBuilder.build().toJsString()); }
@Test public void processWithOneEmptyFeature() throws Exception { JsUri jsUri = mockJsUri(JsCompileMode.CONCAT_COMPILE_EXPORT_ALL); JsRequest jsRequest = new JsRequest(jsUri, null, false, null); JsResponseBuilder jsBuilder = new JsResponseBuilder(); jsBuilder.appendJs(featureJsContent3); boolean actualReturnCode = processor.process(jsRequest, jsBuilder); assertTrue(actualReturnCode); assertEquals( FEATURE_CONTENT_3 + EXPORT_STRING_3, jsBuilder.build().toJsString()); }