@Before public void setUp() throws Exception { expressions = Expressions.forTesting(); variables = Maps.newHashMap(); singletonElementHandler = new SingletonElementHandler(); Set<TagHandler> handlers = ImmutableSet.<TagHandler>of( new TestTagHandler(), singletonElementHandler); registry = new DefaultTagRegistry(handlers); processor = new DefaultTemplateProcessor(expressions); resolver = new RootELResolver(); parser = new NekoSimplifiedHtmlParser(new ParseModule.DOMImplementationProvider().get()); context = new TemplateContext(new Gadget(), variables); variables.put("foo", new JSONObject("{ title: 'bar' }")); variables.put("user", new JSONObject("{ id: '101', name: { first: 'John', last: 'Doe' }}")); variables.put("toys", new JSONObject("{ list: [{name: 'Ball'}, {name: 'Car'}]}")); variables.put("countries", new JSONArray("['Ireland','France']")); variables.put("xss", new JSONObject("{ script: '<script>alert();</script>'," + "quote:'\"><script>alert();</script>'}")); }
@Before public void setUp() throws Exception { super.setUp(); DOMImplementation dom = new ParseModule.DOMImplementationProvider().get(); GadgetHtmlParser neko = new NekoSimplifiedHtmlParser(dom); GadgetHtmlParser caja = new CajaHtmlParser(dom); // FIXME: Caja has trouble with the NekoSimplifiedHtmlParser // Disabling neko for now parsers = ImmutableList.of(/*neko, */caja); CacheProvider lru = new LruCacheProvider(3); RequestPipeline pipeline = EasyMock.createNiceMock(RequestPipeline.class); DefaultHtmlSerializer defaultSerializer = new DefaultHtmlSerializer(); proxyUriManager = EasyMock.createNiceMock(ProxyUriManager.class); rewriter = new CajaContentRewriter(lru, pipeline, defaultSerializer, proxyUriManager) { @Override protected PluginCompiler makePluginCompiler(PluginMeta m, MessageQueue q) { BuildInfo bi = EasyMock.createNiceMock(BuildInfo.class); expect(bi.getBuildInfo()).andReturn("bi").anyTimes(); expect(bi.getBuildTimestamp()).andReturn("0").anyTimes(); expect(bi.getBuildVersion()).andReturn("0").anyTimes(); expect(bi.getCurrentTime()).andReturn(0L).anyTimes(); replay(bi); return new PluginCompiler(bi, m, q); } }; }
@Before public void setUp() throws Exception { super.setUp(); DOMImplementation dom = new ParseModule.DOMImplementationProvider().get(); GadgetHtmlParser neko = new NekoSimplifiedHtmlParser(dom); GadgetHtmlParser caja = new CajaHtmlParser(dom); // FIXME: Caja has trouble with the NekoSimplifiedHtmlParser // Disabling neko for now parsers = ImmutableList.of(/*neko, */caja); CacheProvider lru = new LruCacheProvider(3); RequestPipeline pipeline = EasyMock.createNiceMock(RequestPipeline.class); DefaultHtmlSerializer defaultSerializer = new DefaultHtmlSerializer(); proxyUriManager = EasyMock.createNiceMock(ProxyUriManager.class); rewriter = new CajaContentRewriter(lru, pipeline, defaultSerializer, proxyUriManager) { @Override protected PluginCompiler makePluginCompiler(PluginMeta m, MessageQueue q) { BuildInfo bi = EasyMock.createNiceMock(BuildInfo.class); expect(bi.getBuildInfo()).andReturn("bi").anyTimes(); expect(bi.getBuildTimestamp()).andReturn("0").anyTimes(); expect(bi.getBuildVersion()).andReturn("0").anyTimes(); expect(bi.getCurrentTime()).andReturn(0L).anyTimes(); replay(bi); return new PluginCompiler(bi, m, q); } }; }
@Before public void setUp() throws Exception { expressions = Expressions.forTesting(); variables = Maps.newHashMap(); singletonElementHandler = new SingletonElementHandler(); Set<TagHandler> handlers = ImmutableSet.<TagHandler>of( new TestTagHandler(), singletonElementHandler); registry = new DefaultTagRegistry(handlers); processor = new DefaultTemplateProcessor(expressions); resolver = new RootELResolver(); parser = new NekoSimplifiedHtmlParser(new ParseModule.DOMImplementationProvider().get()); context = new TemplateContext(new Gadget(), variables); variables.put("foo", new JSONObject("{ title: 'bar' }")); variables.put("user", new JSONObject("{ id: '101', name: { first: 'John', last: 'Doe' }}")); variables.put("toys", new JSONObject("{ list: [{name: 'Ball'}, {name: 'Car'}]}")); variables.put("countries", new JSONArray("['Ireland','France']")); variables.put("xss", new JSONObject("{ script: '<script>alert();</script>'," + "quote:'\"><script>alert();</script>'}")); }
@Before public void setUp() throws Exception { expressions = Expressions.forTesting(); variables = Maps.newHashMap(); singletonElementHandler = new SingletonElementHandler(); Set<TagHandler> handlers = ImmutableSet.<TagHandler>of( new TestTagHandler(), singletonElementHandler); registry = new DefaultTagRegistry(handlers); processor = new DefaultTemplateProcessor(expressions); resolver = new RootELResolver(); parser = new NekoSimplifiedHtmlParser(new ParseModule.DOMImplementationProvider().get()); context = new TemplateContext(new Gadget(), variables); variables.put("foo", new JSONObject("{ title: 'bar' }")); variables.put("user", new JSONObject("{ id: '101', name: { first: 'John', last: 'Doe' }}")); variables.put("toys", new JSONObject("{ list: [{name: 'Ball'}, {name: 'Car'}]}")); variables.put("countries", new JSONArray("['Ireland','France']")); variables.put("xss", new JSONObject("{ script: '<script>alert();</script>'," + "quote:'\"><script>alert();</script>'}")); }
@Test public void testComplicatedSerialize() throws Exception { String txt = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"" + " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n" + "<html xml:lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">" + "<head><title>Apache Shindig!</title></head>" + "<body class=\"composite\">\n" + " <div id=\"bodyColumn\">hello\n" + " <div id=\"contentBox\"></div> \n" + " <div class=\"clear\"><hr></div> \n" + " </div>\n" + "</body></html>"; NekoSimplifiedHtmlParser parser = new NekoSimplifiedHtmlParser( new ParseModule.DOMImplementationProvider().get()); Document doc = parser.parseDom(txt); DefaultHtmlSerializer serializer = new DefaultHtmlSerializer(); assertEquals("Serialized full document", txt, serializer.serialize(doc)); }
@Test public void testComplicatedSerialize() throws Exception { String txt = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"" + " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n" + "<html xml:lang=\"en\" xmlns=\"http://www.w3.org/1999/xhtml\">" + "<head><title>Apache Shindig!</title></head>" + "<body class=\"composite\">\n" + " <div id=\"bodyColumn\">hello\n" + " <div id=\"contentBox\"></div> \n" + " <div class=\"clear\"><hr></div> \n" + " </div>\n" + "</body></html>"; NekoSimplifiedHtmlParser parser = new NekoSimplifiedHtmlParser( new ParseModule.DOMImplementationProvider().get()); Document doc = parser.parseDom(txt); DefaultHtmlSerializer serializer = new DefaultHtmlSerializer(); assertEquals("Serialized full document", txt, serializer.serialize(doc)); }
@Before public void setUp() { config = EasyMock.createMock(ContainerConfig.class); factory = EasyMock.createMock(ContentRewriterFeature.Factory.class); featureConfig = EasyMock.createMock(ContentRewriterFeature.Config.class); ProxyUriManager proxyUriManager = new DefaultProxyUriManager(config, null); rewriter = new ImageResizeRewriter(proxyUriManager, factory); domImpl = new ParseModule.DOMImplementationProvider(); parser = new CajaHtmlParser(domImpl.get()); EasyMock.expect(factory.get(EasyMock.isA(HttpRequest.class))).andReturn(featureConfig).anyTimes(); EasyMock.expect(factory.get(EasyMock.isA(GadgetSpec.class))).andReturn(featureConfig).anyTimes(); EasyMock.expect(config.getString(CONTAINER, DefaultProxyUriManager.PROXY_HOST_PARAM)) .andReturn("shindig.com").anyTimes(); EasyMock.expect(config.getString(CONTAINER, DefaultProxyUriManager.PROXY_PATH_PARAM)) .andReturn("/proxy").anyTimes(); EasyMock.expect(featureConfig.getExpires()).andReturn(new Integer(0)).anyTimes(); }
@Before public void setUp() { config = EasyMock.createMock(ContainerConfig.class); factory = EasyMock.createMock(ContentRewriterFeature.Factory.class); featureConfig = EasyMock.createMock(ContentRewriterFeature.Config.class); ProxyUriManager proxyUriManager = new DefaultProxyUriManager(config, null); rewriter = new ImageResizeRewriter(proxyUriManager, factory); domImpl = new ParseModule.DOMImplementationProvider(); parser = new CajaHtmlParser(domImpl.get()); EasyMock.expect(factory.get(EasyMock.isA(HttpRequest.class))).andReturn(featureConfig).anyTimes(); EasyMock.expect(factory.get(EasyMock.isA(GadgetSpec.class))).andReturn(featureConfig).anyTimes(); EasyMock.expect(config.getString(CONTAINER, DefaultProxyUriManager.PROXY_HOST_PARAM)) .andReturn("shindig.com").anyTimes(); EasyMock.expect(config.getString(CONTAINER, DefaultProxyUriManager.PROXY_PATH_PARAM)) .andReturn("/proxy").anyTimes(); EasyMock.expect(featureConfig.getExpires()).andReturn(new Integer(0)).anyTimes(); }
@Override @Before public void setUp() throws Exception { super.setUp(); injector = Guice.createInjector( new PropertiesModule(), new GadgetAdminModule(), new DefaultGuiceModule(), new OAuthModule(), new OAuth2Module(), new OAuth2PersistenceModule(), new OAuth2MessageModule(), new OAuth2HandlerModule()); ParseModule.DOMImplementationProvider domImpl = new ParseModule.DOMImplementationProvider(); htmlParser = new CajaHtmlParser(domImpl.get()); serializer = new CajaHtmlSerializer(); ContainerConfig config = injector.getInstance(ContainerConfig.class); config.newTransaction().addContainer(MOCK_CONTAINER_CONFIG).commit(); proxyUriManager = new DefaultProxyUriManager(config, null); }
private void setupGadget(String gadgetXml) throws SpecParserException, JSONException { gadgetSpec = new GadgetSpec(GADGET_URI, gadgetXml); gadget = new Gadget(); gadget.setSpec(gadgetSpec); gadget.setContext(new GadgetContext() { @Override public Uri getUrl() { return GADGET_URI; } }); gadget.setCurrentView(gadgetSpec.getView("default")); content = new MutableContent(new NekoSimplifiedHtmlParser( new ParseModule.DOMImplementationProvider().get()), gadget.getCurrentView().getContent()); putPipelinedData("user", new JSONObject("{ name: 'John'}")); }
private void setupGadget(String gadgetXml) throws SpecParserException, JSONException { gadgetSpec = new GadgetSpec(GADGET_URI, gadgetXml); gadget = new Gadget(); gadget.setSpec(gadgetSpec); gadget.setContext(new GadgetContext() { @Override public Uri getUrl() { return GADGET_URI; } }); gadget.setCurrentView(gadgetSpec.getView("default")); content = new MutableContent(new NekoSimplifiedHtmlParser( new ParseModule.DOMImplementationProvider().get()), gadget.getCurrentView().getContent()); putPipelinedData("user", new JSONObject("{ name: 'John'}")); }
private void setupGadget(String gadgetXml) throws SpecParserException, JSONException { gadgetSpec = new GadgetSpec(GADGET_URI, gadgetXml); gadget = new Gadget(); gadget.setSpec(gadgetSpec); gadget.setContext(new GadgetContext() { @Override public Uri getUrl() { return GADGET_URI; } }); gadget.setCurrentView(gadgetSpec.getView("default")); content = new MutableContent(new NekoSimplifiedHtmlParser( new ParseModule.DOMImplementationProvider().get()), gadget.getCurrentView().getContent()); putPipelinedData("user", new JSONObject("{ name: 'John'}")); }
@Override @Before public void setUp() throws Exception { super.setUp(); injector = Guice.createInjector( new PropertiesModule(), new GadgetAdminModule(), new DefaultGuiceModule(), new OAuthModule(), new OAuth2Module(), new OAuth2PersistenceModule(), new OAuth2MessageModule(), new OAuth2HandlerModule()); ParseModule.DOMImplementationProvider domImpl = new ParseModule.DOMImplementationProvider(); htmlParser = new CajaHtmlParser(domImpl.get()); serializer = new CajaHtmlSerializer(); ContainerConfig config = injector.getInstance(ContainerConfig.class); config.newTransaction().addContainer(MOCK_CONTAINER_CONFIG).commit(); proxyUriManager = new DefaultProxyUriManager(config, null); }
@Before public void setUp() throws Exception { expressions = Expressions.forTesting(); variables = Maps.newHashMap(); Set<TagHandler> handlers = ImmutableSet.of((TagHandler) new RenderTagHandler()); registry = new DefaultTagRegistry(handlers); processor = new DefaultTemplateProcessor(expressions); resolver = new RootELResolver(); parser = new NekoSimplifiedHtmlParser(new ParseModule.DOMImplementationProvider().get()); Gadget gadget = new Gadget(); gadget.setContext(new GadgetContext()); context = new TemplateContext(gadget, variables); addVariable("foo", new JSONObject("{ title: 'bar' }")); }
@Before public void setUp() throws Exception { expressions = Expressions.forTesting(); variables = Maps.newHashMap(); Set<TagHandler> handlers = ImmutableSet.of((TagHandler) new RenderTagHandler()); registry = new DefaultTagRegistry(handlers); processor = new DefaultTemplateProcessor(expressions); resolver = new RootELResolver(); parser = new NekoSimplifiedHtmlParser(new ParseModule.DOMImplementationProvider().get()); Gadget gadget = new Gadget(); gadget.setContext(new GadgetContext()); context = new TemplateContext(gadget, variables); addVariable("foo", new JSONObject("{ title: 'bar' }")); }
@Before public void setUp() throws Exception { expressions = Expressions.forTesting(); variables = Maps.newHashMap(); Set<TagHandler> handlers = ImmutableSet.of((TagHandler) new RenderTagHandler()); registry = new DefaultTagRegistry(handlers); processor = new DefaultTemplateProcessor(expressions); resolver = new RootELResolver(); parser = new NekoSimplifiedHtmlParser(new ParseModule.DOMImplementationProvider().get()); Gadget gadget = new Gadget(); gadget.setContext(new GadgetContext()); context = new TemplateContext(gadget, variables); addVariable("foo", new JSONObject("{ title: 'bar' }")); }
@Override protected GadgetHtmlParser makeParser() { return new CajaHtmlParser(new ParseModule.DOMImplementationProvider().get()); }
@Override protected GadgetHtmlParser makeParser() { return new CajaHtmlParser(new ParseModule.DOMImplementationProvider().get()); }
@Override protected GadgetHtmlParser makeParser() { return new CajaHtmlParser(new ParseModule.DOMImplementationProvider().get()); }