You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by jo...@apache.org on 2011/07/28 23:13:51 UTC
svn commit: r1152004 - in /shindig/trunk/java/gadgets/src:
main/java/org/apache/shindig/gadgets/js/AddJslInfoVariableProcessor.java
test/java/org/apache/shindig/gadgets/js/AddJslInfoVariableProcessorTest.java
Author: johnh
Date: Thu Jul 28 21:13:50 2011
New Revision: 1152004
URL: http://svn.apache.org/viewvc?rev=1152004&view=rev
Log:
Decline to inject ___jsl.u="" or "null" when an empty value is present.
Modified:
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/AddJslInfoVariableProcessor.java
shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/js/AddJslInfoVariableProcessorTest.java
Modified: shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/AddJslInfoVariableProcessor.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/AddJslInfoVariableProcessor.java?rev=1152004&r1=1152003&r2=1152004&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/AddJslInfoVariableProcessor.java (original)
+++ shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/js/AddJslInfoVariableProcessor.java Thu Jul 28 21:13:50 2011
@@ -40,10 +40,13 @@ public class AddJslInfoVariableProcessor
private static final String CODE_ID = "[jsload-code-info]";
@VisibleForTesting
- static final String HINT_TEMPLATE =
- "window['___jsl'] = window['___jsl'] || {};" +
- "window['___jsl']['u'] = '%s';" +
- "window['___jsl']['f'] = [%s];";
+ static final String BASE_HINT_TEMPLATE = "window['___jsl'] = window['___jsl'] || {};";
+
+ @VisibleForTesting
+ static final String FEATURES_HINT_TEMPLATE = "window['___jsl']['f'] = [%s];";
+
+ @VisibleForTesting
+ static final String URL_HINT_TEMPLATE = "window['___jsl']['u'] = '%s';";
private final JsUriManager jsUriManager;
@@ -57,7 +60,11 @@ public class AddJslInfoVariableProcessor
if (!jsUri.isNohint()) {
String uri = StringEscapeUtils.escapeJavaScript(getUri(jsUri));
String features = getFeatures(jsUri);
- builder.prependJs(String.format(HINT_TEMPLATE, uri, features), CODE_ID);
+ builder.prependJs(String.format(FEATURES_HINT_TEMPLATE, features), CODE_ID);
+ if (uri != null && !"".equals(uri)) {
+ builder.prependJs(String.format(URL_HINT_TEMPLATE, uri), CODE_ID);
+ }
+ builder.prependJs(BASE_HINT_TEMPLATE, CODE_ID);
}
return true;
}
Modified: shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/js/AddJslInfoVariableProcessorTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/js/AddJslInfoVariableProcessorTest.java?rev=1152004&r1=1152003&r2=1152004&view=diff
==============================================================================
--- shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/js/AddJslInfoVariableProcessorTest.java (original)
+++ shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/js/AddJslInfoVariableProcessorTest.java Thu Jul 28 21:13:50 2011
@@ -77,7 +77,10 @@ public class AddJslInfoVariableProcessor
setJsUri(URI);
control.replay();
processor.process(request, response);
- String expected = String.format(AddJslInfoVariableProcessor.HINT_TEMPLATE, URI_JS, LIBS_JS);
+ String expected = String.format(AddJslInfoVariableProcessor.BASE_HINT_TEMPLATE +
+ AddJslInfoVariableProcessor.URL_HINT_TEMPLATE +
+ AddJslInfoVariableProcessor.FEATURES_HINT_TEMPLATE,
+ URI_JS, LIBS_JS);
assertEquals(expected, response.build().toJsString());
control.verify();
}
@@ -89,13 +92,28 @@ public class AddJslInfoVariableProcessor
EasyMock.expect(jsUriManager.makeExternJsUri(EasyMock.capture(captureJsUri))).andReturn(Uri.parse(GENERATED_URI));
control.replay();
processor.process(request, response);
- String expected = String.format(AddJslInfoVariableProcessor.HINT_TEMPLATE, GENERATED_URI_JS, LIBS_JS);
+ String expected = String.format(AddJslInfoVariableProcessor.BASE_HINT_TEMPLATE +
+ AddJslInfoVariableProcessor.URL_HINT_TEMPLATE +
+ AddJslInfoVariableProcessor.FEATURES_HINT_TEMPLATE,
+ GENERATED_URI_JS, LIBS_JS);
assertEquals(expected, response.build().toJsString());
assertFalse(captureJsUri.getValue().isJsload());
assertTrue(captureJsUri.getValue().isNohint());
control.verify();
}
+ @Test
+ public void testAddsHintWithoutUriIfBlank() throws Exception {
+ setJsUri("");
+ control.replay();
+ processor.process(request, response);
+ String expected = String.format(AddJslInfoVariableProcessor.BASE_HINT_TEMPLATE +
+ AddJslInfoVariableProcessor.FEATURES_HINT_TEMPLATE,
+ LIBS_JS);
+ assertEquals(expected, response.build().toJsString());
+ control.verify();
+ }
+
private void setJsUri(String uri) {
jsUri = new JsUri(UriStatus.VALID_UNVERSIONED, Uri.parse(uri), LIBS, null);