You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by dd...@apache.org on 2013/01/30 20:12:34 UTC

svn commit: r1440592 - /shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/StyleTagProxyEmbeddedUrlsVisitorTest.java

Author: ddumont
Date: Wed Jan 30 19:12:33 2013
New Revision: 1440592

URL: http://svn.apache.org/viewvc?rev=1440592&view=rev
Log:
Update rewriter tests to not fail when the config turns off rewriting.

Modified:
    shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/StyleTagProxyEmbeddedUrlsVisitorTest.java

Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/StyleTagProxyEmbeddedUrlsVisitorTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/StyleTagProxyEmbeddedUrlsVisitorTest.java?rev=1440592&r1=1440591&r2=1440592&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/StyleTagProxyEmbeddedUrlsVisitorTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/rewrite/StyleTagProxyEmbeddedUrlsVisitorTest.java Wed Jan 30 19:12:33 2013
@@ -29,13 +29,14 @@ import org.apache.shindig.gadgets.Gadget
 import org.apache.shindig.gadgets.admin.GadgetAdminModule;
 import org.apache.shindig.gadgets.http.HttpRequest;
 import org.apache.shindig.gadgets.oauth.OAuthModule;
+import org.apache.shindig.gadgets.oauth2.OAuth2MessageModule;
 import org.apache.shindig.gadgets.oauth2.OAuth2Module;
 import org.apache.shindig.gadgets.oauth2.handler.OAuth2HandlerModule;
 import org.apache.shindig.gadgets.oauth2.persistence.sample.OAuth2PersistenceModule;
-import org.apache.shindig.gadgets.oauth2.OAuth2MessageModule;
 import org.apache.shindig.gadgets.parse.ParseModule;
 import org.apache.shindig.gadgets.parse.caja.CajaHtmlParser;
 import org.apache.shindig.gadgets.parse.caja.CajaHtmlSerializer;
+import org.apache.shindig.gadgets.rewrite.ContentRewriterFeature.Config;
 import org.apache.shindig.gadgets.uri.DefaultProxyUriManager;
 import org.apache.shindig.gadgets.uri.ProxyUriManager;
 import org.easymock.EasyMock;
@@ -91,6 +92,16 @@ public class StyleTagProxyEmbeddedUrlsVi
       + "</head><body><a href=\"hello\">Hello</a>"
       + "</body></html>";
 
+  private static final String NOREWRITE = "<html><head>"
+      + "<style>"
+      + "@import url('http://1.com/1.css');"
+      + "P {color:blue;}"
+      + "P {color:red;}"
+      + "A {background: url('http://1.com/2.jpg');}"
+      + "</style>"
+      + "</head><body><a href=\"hello\">Hello</a>"
+      + "</body></html>";
+
   private static final String EXPECTED = "<html><head>"
       + "<style>"
       + "@import url('//localhost:8080/gadgets/proxy?container=default&"
@@ -107,24 +118,42 @@ public class StyleTagProxyEmbeddedUrlsVi
 
   @Test
   public void testImportsAndBackgroundUrlsInStyleTagDefaultContainer() throws Exception {
-    testImportsAndBackgroundUrlsInStyleTag(ORIGINAL, EXPECTED, ContainerConfig.DEFAULT_CONTAINER);
+    // TODO: IMPORTANT!  This test needs to not rely on the packaged shindig config, but rather
+    //       mock the config with expected values, so that tests do not fail when people set
+    //       alternative defaults.
+    Config config = injector.getInstance(ContentRewriterFeature.DefaultConfig.class);
+    EasyMock.replay();
+    if (config.isRewriteEnabled())
+      testImportsAndBackgroundUrlsInStyleTag(ORIGINAL, EXPECTED, ContainerConfig.DEFAULT_CONTAINER, config);
+    else
+      testImportsAndBackgroundUrlsInStyleTag(ORIGINAL, NOREWRITE, ContainerConfig.DEFAULT_CONTAINER, config);
   }
 
   @Test
   public void testImportsAndBackgroundUrlsInStyleTagMockContainer() throws Exception {
-    testImportsAndBackgroundUrlsInStyleTag(ORIGINAL, EXPECTED.replace(
-        "localhost:8080/gadgets/proxy?container=default", "www.mock.com/gadgets/proxy?container=mock"),
-        MOCK_CONTAINER);
+    // TODO: IMPORTANT!  This test needs to not rely on the packaged shindig config, but rather
+    //       mock the config with expected values, so that tests do not fail when people set
+    //       alternative defaults.
+    Config config = injector.getInstance(ContentRewriterFeature.DefaultConfig.class);
+    EasyMock.replay();
+
+    if (config.isRewriteEnabled()) {
+      testImportsAndBackgroundUrlsInStyleTag(ORIGINAL, EXPECTED.replace(
+          "localhost:8080/gadgets/proxy?container=default", "www.mock.com/gadgets/proxy?container=mock"),
+          MOCK_CONTAINER, config);
+    } else {
+      testImportsAndBackgroundUrlsInStyleTag(ORIGINAL, NOREWRITE, ContainerConfig.DEFAULT_CONTAINER, config);
+    }
+
   }
 
-  private void testImportsAndBackgroundUrlsInStyleTag(String html, String expected, String container)
+  private void testImportsAndBackgroundUrlsInStyleTag(String html, String expected, String container, Config config)
       throws Exception {
+    // TODO: IMPORTANT!  This test needs to not rely on the packaged shindig config, but rather
+    //       mock the config with expected values, so that tests do not fail when people set
+    //       alternative defaults.
     Document doc = htmlParser.parseDom(html);
 
-    ContentRewriterFeature.Config config = injector.getInstance(
-        ContentRewriterFeature.DefaultConfig.class);
-    EasyMock.replay();
-
     StyleTagProxyEmbeddedUrlsVisitor visitor = new StyleTagProxyEmbeddedUrlsVisitor(
         config, proxyUriManager,
         injector.getInstance(CssResponseRewriter.class));