You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by ro...@apache.org on 2011/09/16 16:35:20 UTC

svn commit: r1171593 - in /tapestry/tapestry5/trunk/tapestry-core/src: main/java/org/apache/tapestry5/corelib/components/ main/java/org/apache/tapestry5/internal/services/ main/resources/org/apache/tapestry5/ main/resources/org/apache/tapestry5/corelib...

Author: robertdzeigler
Date: Fri Sep 16 14:35:20 2011
New Revision: 1171593

URL: http://svn.apache.org/viewvc?rev=1171593&view=rev
Log:
TAP5-1652: template expansion no longer trims whitespace off the right side of the expansion
TAP5-1633: Hardcoded value for "Dismiss All" in AlertManager

Added:
    tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/corelib/components/Alerts.properties
    tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/internal/services/expansions_with_whitespace.tml
Modified:
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SaxTemplateParser.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/t5-alerts.js
    tapestry/tapestry5/trunk/tapestry-core/src/test/app1/MapExpressionInExpansions.tml
    tapestry/tapestry5/trunk/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/AlertsTests.groovy
    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/TemplateParserImplTest.java
    tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/AlertsDemo.tml

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java?rev=1171593&r1=1171592&r2=1171593&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Alerts.java Fri Sep 16 14:35:20 2011
@@ -20,8 +20,10 @@ import org.apache.tapestry5.MarkupWriter
 import org.apache.tapestry5.alerts.Alert;
 import org.apache.tapestry5.alerts.AlertStorage;
 import org.apache.tapestry5.annotations.Environmental;
+import org.apache.tapestry5.annotations.Parameter;
 import org.apache.tapestry5.annotations.RequestParameter;
 import org.apache.tapestry5.annotations.SessionState;
+import org.apache.tapestry5.BindingConstants;
 import org.apache.tapestry5.ioc.annotations.Inject;
 import org.apache.tapestry5.json.JSONObject;
 import org.apache.tapestry5.services.javascript.InitializationPriority;
@@ -37,6 +39,10 @@ import org.apache.tapestry5.services.jav
  */
 public class Alerts implements ClientElement
 {
+
+    @Parameter(value="message:dismiss-label", defaultPrefix=BindingConstants.LITERAL)
+    private String dismissText;
+
     @Inject
     private ComponentResources resources;
 
@@ -61,7 +67,8 @@ public class Alerts implements ClientEle
         writer.end();
 
         JSONObject spec = new JSONObject("id", clientId,
-                "dismissURL", resources.createEventLink("dismiss").toURI());
+                "dismissURL", resources.createEventLink("dismiss").toURI(),
+                "dismissText", dismissText);
 
         javaScriptSupport.addInitializerCall(InitializationPriority.EARLY, "alertManager", spec);
 

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SaxTemplateParser.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SaxTemplateParser.java?rev=1171593&r1=1171592&r2=1171593&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SaxTemplateParser.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SaxTemplateParser.java Fri Sep 16 14:35:20 2011
@@ -133,7 +133,6 @@ public class SaxTemplateParser
     private static final char EXPANSION_STRING_DELIMITTER='\'';
     private static final char OPEN_BRACE='{';
     private static final char CLOSE_BRACE='}';
-    //private static final Pattern EXPANSION_PATTERN = Pattern.compile("\\$\\{\\");
 
     private static final Set<String> MUST_BE_ROOT = CollectionFactory.newSet("extend", "container");
 
@@ -1157,7 +1156,7 @@ public class SaxTemplateParser
                 //can't just assign to 
                 startx=matcher.start(1) + expressionEnd + 1;
             } else {
-                tokenAccumulator.add(new ExpansionToken(expression, textStartLocation));
+                tokenAccumulator.add(new ExpansionToken(expression.trim(), textStartLocation));
 
                 startx = matcher.end();
             }

Added: tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/corelib/components/Alerts.properties
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/corelib/components/Alerts.properties?rev=1171593&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/corelib/components/Alerts.properties (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/corelib/components/Alerts.properties Fri Sep 16 14:35:20 2011
@@ -0,0 +1 @@
+dismiss-label=Dismiss all

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/t5-alerts.js
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/t5-alerts.js?rev=1171593&r1=1171592&r2=1171593&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/t5-alerts.js (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/t5-alerts.js Fri Sep 16 14:35:20 2011
@@ -6,9 +6,9 @@ T5.extendInitializers(function() {
         var DISMISS_ALERTS = "tapestry:dismiss-all";
         var addAlertPublisher = T5.pubsub.createPublisher(T5.events.ADD_ALERT, document);
 
-        function construct(clientId) {
+        function construct(clientId, dismissText) {
             $(clientId).innerHTML = "<div class='t-alert-container'></div>" +
-                "<div class='t-alert-controls'><a href='#'>Dismiss all</a></div>";
+                "<div class='t-alert-controls'><a href='#'>" + dismissText + "</a></div>";
 
             var list = find(clientId, "div");
             var link = find(clientId, "a");
@@ -48,7 +48,7 @@ T5.extendInitializers(function() {
 
             T5.sub(T5.events.ADD_ALERT, null, function(alertSpec) {
                 if (!constructed) {
-                    list = construct(spec.id);
+                    list = construct(spec.id, spec.dismissText);
                     constructed = true;
                 }
 

Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/app1/MapExpressionInExpansions.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/app1/MapExpressionInExpansions.tml?rev=1171593&r1=1171592&r2=1171593&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/app1/MapExpressionInExpansions.tml (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/app1/MapExpressionInExpansions.tml Fri Sep 16 14:35:20 2011
@@ -5,5 +5,7 @@
         <li>Empty Map: <span id="emptymap">${echoMap({})}</span></li>
         <li>String Keys Map: <span id="stringmap">${echoMap({'A':1})}</span></li>
         <li>Number Keys Map: <span id="numberkeysmap">${echoMap({1: 'one'})}</span></li>
+        <!-- demonstrates TAP5-1652 -->
+        <li>Map with spaces: <span id="mapwithspaces">${ echoMap( { 2 : 'two' } ) }</span></li>
     </ul>
 </html>

Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/AlertsTests.groovy
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/AlertsTests.groovy?rev=1171593&r1=1171592&r2=1171593&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/AlertsTests.groovy (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/groovy/org/apache/tapestry5/integration/app1/AlertsTests.groovy Fri Sep 16 14:35:20 2011
@@ -94,4 +94,16 @@ class AlertsTests extends SeleniumTestCa
         click "link=Dismiss all"
     }
 
-}
\ No newline at end of file
+    /** #1633 - alerts shouldn't hard-code the  'Dismiss all' label...*/
+    @Test
+    void dismiss_label_is_parameter() {
+        openLinks "Alerts Demo", "reset"
+        select "id=severity", "Warn"
+        select "id=duration", "Until Dismissed"
+        type "id=message", "I'm sorry, Hal, I can't do that."
+        clickAndWait "//input[@value='Traditional Update']"
+        assertTextPresent "I'm sorry, Hal, I can't do that."
+        assertTrue isElementPresent("link=Zenbu Kesu")
+    }
+
+}

Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/TemplateParserImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/TemplateParserImplTest.java?rev=1171593&r1=1171592&r2=1171593&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/TemplateParserImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/TemplateParserImplTest.java Fri Sep 16 14:35:20 2011
@@ -569,7 +569,6 @@ public class TemplateParserImplTest exte
     {
         List<TemplateToken> tokens= tokens("expansions_with_maps.tml");
 
-        System.out.println(tokens);
         assertEquals(tokens.size(), 11);
 
         //note that a single expansion on a line and two expansions on a line are tested individually elsewhere,
@@ -588,6 +587,18 @@ public class TemplateParserImplTest exte
     }
 
     @Test
+    public void expansion_whitespace_trimmed()
+    {
+        List<TemplateToken> tokens = tokens("expansions_with_whitespace.tml");
+
+        assertEquals(tokens.size(), 9);
+        
+        ExpansionToken expansion = get(tokens, 2);
+        assertEquals( expansion.getExpression(), "message:messagekey1");
+
+    }
+
+    @Test
     public void parameter_element()
     {
         List<TemplateToken> tokens = tokens("parameter_element.tml");

Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/AlertsDemo.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/AlertsDemo.tml?rev=1171593&r1=1171592&r2=1171593&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/AlertsDemo.tml (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/pages/AlertsDemo.tml Fri Sep 16 14:35:20 2011
@@ -26,4 +26,5 @@
     ]
 </p>
 
+<t:alerts dismissText="Zenbu Kesu"/>
 </html>

Added: tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/internal/services/expansions_with_whitespace.tml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/internal/services/expansions_with_whitespace.tml?rev=1171593&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/internal/services/expansions_with_whitespace.tml (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/internal/services/expansions_with_whitespace.tml Fri Sep 16 14:35:20 2011
@@ -0,0 +1,5 @@
+<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd" xml:space="preserve">
+    Space after: ${message:messagekey1 }
+    Space before: ${ message:messagekey2}
+    Space both: ${ message:messagekey3 }
+</html>