public String getContent() { if (browserMatches()) { return delegate.getContent(); } return ""; }
public String getContent() { if (browserMatches()) { return delegate.getContent(); } return ""; }
public String getContent() { if (browserMatches()) { return delegate.getContent(); } return ""; }
@Inject public AllJsIframeVersioner(FeatureRegistry registry) { String charset = Charset.defaultCharset().name(); MessageDigest digest = HashUtil.getMessageDigest(); digest.reset(); for (FeatureResource resource : registry.getAllFeatures().getResources()) { // Emulate StringBuilder append of content update(digest, resource.getContent(), charset); update(digest, resource.getDebugContent(), charset); } allJsChecksum = HashUtil.bytesToHex(digest.digest()); }
private void checkExactFeatureResources(String type, RenderingContext rctx) throws Exception { setupFullRegistry(type, null); GadgetContext ctx = getCtx(rctx, null); List<String> needed = Lists.newArrayList("nodep", "bottom"); List<String> unsupported = Lists.newLinkedList(); List<FeatureResource> resources = registry.getFeatureResources(ctx, needed, unsupported); assertEquals(0, unsupported.size()); assertEquals(2, resources.size()); assertEquals("nodep", resources.get(0).getContent()); assertEquals("bottom", resources.get(1).getContent()); }
private void checkExactFeatureResources(String type, RenderingContext rctx) throws Exception { setupFullRegistry(type, null); GadgetContext ctx = getCtx(rctx, null); List<String> needed = Lists.newArrayList("nodep", "bottom"); List<String> unsupported = Lists.newLinkedList(); List<FeatureResource> resources = registry.getFeatureResources(ctx, needed, unsupported).getResources(); assertEquals(0, unsupported.size()); assertEquals(2, resources.size()); assertEquals("nodep", resources.get(0).getContent()); assertEquals("bottom", resources.get(1).getContent()); }
@Test public void registerFromResourceFeatureXmlRelativeContent() throws Exception { String content = "resource-content-relative()"; Uri contentUri = expectResource(content); String relativePath = contentUri.getPath().substring(contentUri.getPath().lastIndexOf('/') + 1); Uri featureUri = expectResource(xml(NODEP_TPL, "gadget", relativePath, null)); registry = new TestFeatureRegistry(featureUri.toString()); // Verify single resource works all the way through. List<FeatureResource> resources = registry.getAllFeatures(); assertEquals(1, resources.size()); assertEquals(content, resources.get(0).getContent()); }
@Test public void loadFileBothModesAvailable() throws Exception { Pair<Uri, File> optUri = makeFile(".opt.js", FILE_JS); File dbgFile = new File(optUri.one.getPath().replace(".opt.js", ".js")); dbgFile.createNewFile(); Pair<Uri, File> dbgUri = makeFile(dbgFile, UNCOMPRESSED_FILE_JS); FeatureResource resource = loader.load(dbgUri.one, null); assertEquals(FILE_JS, resource.getContent()); assertEquals(UNCOMPRESSED_FILE_JS, resource.getDebugContent()); assertFalse(resource.isExternal()); assertTrue(resource.isProxyCacheable()); }
@Test public void loadFileBothModesAvailable() throws Exception { Pair<Uri, File> optUri = makeFile(".opt.js", FILE_JS); File dbgFile = new File(optUri.one.getPath().replace(".opt.js", ".js")); dbgFile.createNewFile(); Pair<Uri, File> dbgUri = makeFile(dbgFile, UNCOMPRESSED_FILE_JS); FeatureResource resource = loader.load(dbgUri.one, null); assertEquals(FILE_JS, resource.getContent()); assertEquals(UNCOMPRESSED_FILE_JS, resource.getDebugContent()); assertFalse(resource.isExternal()); assertTrue(resource.isProxyCacheable()); }
private void checkRegisterFromFileFeatureXml(boolean withScheme) throws Exception { String content = "content-" + (withScheme ? "withScheme" : "noScheme"); Uri resUri = makeFile(content); Uri featureFile = makeFile(xml(NODEP_TPL, "gadget", withScheme ? resUri.toString() : resUri.getPath(), null)); registry = new TestFeatureRegistry(withScheme ? featureFile.toString() : featureFile.getPath()); // Verify single resource works all the way through. List<FeatureResource> resources = registry.getAllFeatures(); assertEquals(1, resources.size()); assertEquals(content, resources.get(0).getContent()); }
@Test public void loadUriInline() throws Exception { Uri uri = Uri.parse("http://apache.org/resource.js"); Map<String, String> attribs = Maps.newHashMap(); attribs.put("inline", "true"); mockFetcher(uri, URL_JS); FeatureResource resource = loader.load(uri, attribs); assertEquals(URL_JS, resource.getContent()); assertEquals(URL_JS, resource.getDebugContent()); assertTrue(resource.isProxyCacheable()); assertFalse(resource.isExternal()); }
@Test public void loadUriExtern() throws Exception { String theUrl = "http://apache.org/resource.js"; Uri uri = Uri.parse(theUrl); Map<String, String> attribs = Maps.newHashMap(); mockFetcher(uri, URL_JS); FeatureResource resource = loader.load(uri, attribs); assertEquals(theUrl, resource.getContent()); assertEquals(theUrl, resource.getDebugContent()); assertTrue(resource.isProxyCacheable()); assertTrue(resource.isExternal()); }
@Test public void loadUriExtern() throws Exception { String theUrl = "http://apache.org/resource.js"; Uri uri = Uri.parse(theUrl); Map<String, String> attribs = Maps.newHashMap(); mockFetcher(uri, URL_JS); FeatureResource resource = loader.load(uri, attribs); assertEquals(theUrl, resource.getContent()); assertEquals(theUrl, resource.getDebugContent()); assertTrue(resource.isProxyCacheable()); assertTrue(resource.isExternal()); }
@Test public void loadFileDebugOnlyAvailable() throws Exception { Pair<Uri, File> dbgUri = makeFile(".js", UNCOMPRESSED_FILE_JS); FeatureResource resource = loader.load(dbgUri.one, null); assertEquals(UNCOMPRESSED_FILE_JS, resource.getContent()); assertEquals(UNCOMPRESSED_FILE_JS, resource.getDebugContent()); assertFalse(resource.isExternal()); assertTrue(resource.isProxyCacheable()); }
@Test public void loadFileOptOnlyAvailable() throws Exception { Pair<Uri, File> optUri = makeFile(".opt.js", FILE_JS); FeatureResource resource = loader.load(optUri.one, null); assertEquals(FILE_JS, resource.getContent()); assertEquals(FILE_JS, resource.getDebugContent()); assertFalse(resource.isExternal()); assertTrue(resource.isProxyCacheable()); }
@Test public void loadFileDebugOnlyAvailable() throws Exception { Pair<Uri, File> dbgUri = makeFile(".js", UNCOMPRESSED_FILE_JS); FeatureResource resource = loader.load(dbgUri.one, null); assertEquals(UNCOMPRESSED_FILE_JS, resource.getContent()); assertEquals(UNCOMPRESSED_FILE_JS, resource.getDebugContent()); assertFalse(resource.isExternal()); assertTrue(resource.isProxyCacheable()); }
@Test public void loadFileDebugOnlyAvailable() throws Exception { Pair<Uri, File> dbgUri = makeFile(".js", UNCOMPRESSED_FILE_JS); FeatureResource resource = loader.load(dbgUri.one, null); assertEquals(UNCOMPRESSED_FILE_JS, resource.getContent()); assertEquals(UNCOMPRESSED_FILE_JS, resource.getDebugContent()); assertFalse(resource.isExternal()); assertTrue(resource.isProxyCacheable()); }
@Test public void loadFileOptOnlyAvailable() throws Exception { Pair<Uri, File> optUri = makeFile(".opt.js", FILE_JS); FeatureResource resource = loader.load(optUri.one, null); assertEquals(FILE_JS, resource.getContent()); assertEquals(FILE_JS, resource.getDebugContent()); assertFalse(resource.isExternal()); assertTrue(resource.isProxyCacheable()); }
@Test public void loadFileOptOnlyAvailable() throws Exception { Pair<Uri, File> optUri = makeFile(".opt.js", FILE_JS); FeatureResource resource = loader.load(optUri.one, null); assertEquals(FILE_JS, resource.getContent()); assertEquals(FILE_JS, resource.getDebugContent()); assertFalse(resource.isExternal()); assertTrue(resource.isProxyCacheable()); }
@Test public void loadFileNoOptPathCalculable() throws Exception { // File doesn't end in .js, so it's loaded for both opt and debug. Pair<Uri, File> dbgUri = makeFile(".notjssuffix", UNCOMPRESSED_FILE_JS); FeatureResource resource = loader.load(dbgUri.one, null); assertEquals(UNCOMPRESSED_FILE_JS, resource.getContent()); assertEquals(UNCOMPRESSED_FILE_JS, resource.getDebugContent()); assertFalse(resource.isExternal()); assertTrue(resource.isProxyCacheable()); }