You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shindig.apache.org by aw...@apache.org on 2009/02/12 17:57:36 UTC

svn commit: r743807 - in /incubator/shindig/trunk/java/gadgets/src: main/java/org/apache/shindig/gadgets/DefaultUrlGenerator.java test/java/org/apache/shindig/gadgets/DefaultUrlGeneratorTest.java

Author: awiner
Date: Thu Feb 12 16:57:36 2009
New Revision: 743807

URL: http://svn.apache.org/viewvc?rev=743807&view=rev
Log:
SHINDIG-910: Support _ in feature names
Patch from Michael Hermanto, slightly modified

Modified:
    incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultUrlGenerator.java
    incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultUrlGeneratorTest.java

Modified: incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultUrlGenerator.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultUrlGenerator.java?rev=743807&r1=743806&r2=743807&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultUrlGenerator.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/DefaultUrlGenerator.java Thu Feb 12 16:57:36 2009
@@ -44,7 +44,7 @@
  */
 @Singleton
 public class DefaultUrlGenerator implements UrlGenerator {
-  protected static final Pattern ALLOWED_FEATURE_NAME = Pattern.compile("[0-9a-zA-Z\\.\\-]+");
+  protected static final Pattern ALLOWED_FEATURE_NAME = Pattern.compile("[0-9a-zA-Z_\\.\\-]+");
   protected static final String IFRAME_URI_PARAM = "gadgets.iframeBaseUri";
   protected static final String JS_URI_PARAM = "gadgets.jsUriTemplate";
   private final String jsChecksum;

Modified: incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultUrlGeneratorTest.java
URL: http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultUrlGeneratorTest.java?rev=743807&r1=743806&r2=743807&view=diff
==============================================================================
--- incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultUrlGeneratorTest.java (original)
+++ incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/DefaultUrlGeneratorTest.java Thu Feb 12 16:57:36 2009
@@ -22,19 +22,12 @@
 import static org.easymock.EasyMock.expect;
 import static org.easymock.EasyMock.isA;
 
+import org.apache.commons.lang.StringEscapeUtils;
 import org.apache.shindig.common.EasyMockTestCase;
 import org.apache.shindig.common.uri.Uri;
 import org.apache.shindig.config.AbstractContainerConfig;
 import org.apache.shindig.gadgets.spec.GadgetSpec;
 
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-
-import org.apache.commons.lang.StringEscapeUtils;
-
-import junitx.framework.StringAssert;
-
 import java.net.URI;
 import java.util.Arrays;
 import java.util.Collection;
@@ -42,6 +35,13 @@
 import java.util.Locale;
 import java.util.Map;
 
+import junitx.framework.StringAssert;
+
+import com.google.caja.util.Join;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+
 /**
  * Tests for DefaultUrlGenerator.
  */
@@ -92,15 +92,20 @@
     reset(registry);
   }
 
-  public void testGetBundledJsParam() throws Exception {
-    List<String> features = ImmutableList.of("foo", "bar");
+  public void testGetBundledJsParamWithGoodFeatureName() throws Exception {
+    List<String> features = ImmutableList.of(
+        "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
+        "abcdefghijklmnopqrstuvwxyz",
+        "0123456789",
+        "_.-");
+
     expect(context.getDebug()).andReturn(true);
     replay();
 
     String jsParam = urlGenerator.getBundledJsParam(features, context);
 
-    assertTrue(
-        jsParam.matches("foo:bar\\.js\\?v=[0-9a-zA-Z]*&container=" + CONTAINER + "&debug=1"));
+    assertTrue(jsParam.matches(Join.join(":", features) + "\\.js\\?v=[0-9a-zA-Z]*&container=" +
+        CONTAINER + "&debug=1"));
   }
 
   public void testGetBundledJsParamWithBadFeatureName() throws Exception {