private boolean canAddContent(JsContent jsContent) { return jsContent.get().length() > 0; } }
protected CompileResult doCompileContent(JsContent content, CompilerOptions options, List<SourceFile> externs) throws CompilerException { Compiler compiler = new Compiler(getErrorManager()); // We shouldn't reuse compilers // disable JS Closure Compiler internal thread compiler.disableThreads(); SourceFile source = SourceFile.fromCode(content.getSource(), content.get()); Result result = compiler.compile(externs, Lists.newArrayList(source), options); if (result.errors.length > 0) { throw new CompilerException(result.errors); } return new CompileResult(compiler, result); }
@Test public void compilerIsRun() throws Exception { JsUri jsUri = control.createMock(JsUri.class); JsResponseBuilder builder = new JsResponseBuilder().setCacheTtlSecs(1234).setStatusCode(200) .appendJs("content1:", "source1") .appendJs("content2", "source2") .appendJs(JsContent.fromFeature("content3:", "source3", mockBundle("extern3"), null)) .appendJs(JsContent.fromFeature("content4:", "source4", mockBundle("extern4"), null)); JsResponse outputResponse = new JsResponseBuilder().appendJs("content3", "s3").build(); JsRequest request = control.createMock(JsRequest.class); expect(request.getJsUri()).andReturn(jsUri); expect(compiler.compile(same(jsUri), eq(builder.build().getAllJsContent()), isA(String.class))).andReturn(outputResponse); control.replay(); boolean status = processor.process(request, builder); control.verify(); assertTrue(status); JsResponse compResult = builder.build(); assertEquals(200, compResult.getStatusCode()); assertEquals(1234, compResult.getCacheTtlSecs()); assertEquals("content3", compResult.toJsString()); Iterator<JsContent> outIterator = compResult.getAllJsContent().iterator(); JsContent firstOut = outIterator.next(); assertEquals("content3", firstOut.get()); assertEquals("s3", firstOut.getSource()); assertFalse(outIterator.hasNext()); }
/** * Returns the JavaScript code to serve. */ public String toJsString() { if (codeString == null) { StringBuilder sb = new StringBuilder(); for (JsContent js : getAllJsContent()) { sb.append(js.get()); } codeString = sb.toString(); } return codeString; }
@Test public void compilerIsRun() throws Exception { JsUri jsUri = control.createMock(JsUri.class); JsResponseBuilder builder = new JsResponseBuilder().setCacheTtlSecs(1234).setStatusCode(200) .appendJs("content1:", "source1") .appendJs("content2", "source2") .appendJs(JsContent.fromFeature("content3:", "source3", mockBundle("extern3"), null)) .appendJs(JsContent.fromFeature("content4:", "source4", mockBundle("extern4"), null)); JsResponse outputResponse = new JsResponseBuilder().appendJs("content3", "s3").build(); JsRequest request = control.createMock(JsRequest.class); expect(request.getJsUri()).andReturn(jsUri); expect(compiler.compile(same(jsUri), eq(builder.build().getAllJsContent()), isA(String.class))).andReturn(outputResponse); control.replay(); boolean status = processor.process(request, builder); control.verify(); assertTrue(status); JsResponse compResult = builder.build(); assertEquals(200, compResult.getStatusCode()); assertEquals(1234, compResult.getCacheTtlSecs()); assertEquals("content3", compResult.toJsString()); Iterator<JsContent> outIterator = compResult.getAllJsContent().iterator(); JsContent firstOut = outIterator.next(); assertEquals("content3", firstOut.get()); assertEquals("s3", firstOut.getSource()); assertFalse(outIterator.hasNext()); }
private String getContent(Iterable<JsContent> jsContent) { StringBuilder sb = new StringBuilder(); for (JsContent js : jsContent) { sb.append(js.get()); } return sb.toString(); }
private String getContent(Iterable<JsContent> jsContent) { StringBuilder sb = new StringBuilder(); for (JsContent js : jsContent) { sb.append(js.get()); } return sb.toString(); } }
private String getContent(Iterable<JsContent> jsContent) { StringBuilder sb = new StringBuilder(); for (JsContent js : jsContent) { sb.append(js.get()); } return sb.toString(); } }
private String getContent(Iterable<JsContent> jsContent) { StringBuilder sb = new StringBuilder(); for (JsContent js : jsContent) { sb.append(js.get()); } return sb.toString(); }
future = Futures.immediateFuture(new CompileResult(code.get()));