Repository: tapestry-5
Updated Branches:
  refs/heads/master 92616a625 -> 72d9b1075


TAP5-2129: fix replacement of asset:... URLs in CSS


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/72d9b107
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/72d9b107
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/72d9b107

Branch: refs/heads/master
Commit: 72d9b10750898f2fa9688199b1e890983161770f
Parents: 92616a6
Author: Jochen Kemnade <[email protected]>
Authored: Fri Apr 24 13:29:04 2015 +0200
Committer: Jochen Kemnade <[email protected]>
Committed: Fri Apr 24 13:29:04 2015 +0200

----------------------------------------------------------------------
 .../internal/services/assets/CSSURLRewriter.java          | 10 +++++++++-
 .../internal/services/assets/CSSURLRewriterTests.groovy   |  2 +-
 2 files changed, 10 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/72d9b107/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CSSURLRewriter.java
----------------------------------------------------------------------
diff --git 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CSSURLRewriter.java
 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CSSURLRewriter.java
index d478ffe..c578418 100644
--- 
a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CSSURLRewriter.java
+++ 
b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/assets/CSSURLRewriter.java
@@ -151,7 +151,9 @@ public class CSSURLRewriter extends DelegatingSRS
             // to rewrite it (this is actually rare in Tapestry as you want to 
use relative URLs to
             // leverage the asset pipeline.
             Matcher completeURLMatcher = completeURLPattern.matcher(url);
-            if (completeURLMatcher.find() && 
!("asset:".equals(completeURLMatcher.group(1))))
+            boolean matchFound = completeURLMatcher.find();
+            boolean isAssetUrl = matchFound && 
"asset:".equals(completeURLMatcher.group(1));
+            if (matchFound && !isAssetUrl)
             {
                 String queryParameters = matcher.group(3);
 
@@ -166,6 +168,12 @@ public class CSSURLRewriter extends DelegatingSRS
                 continue;
             }
 
+            if (isAssetUrl)
+            {
+                // strip away the "asset:" prefix
+                url = url.substring(6);
+            }
+
             Asset asset = assetSource.getAsset(baseResource, url, null);
 
             if (asset != null)

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/72d9b107/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/services/assets/CSSURLRewriterTests.groovy
----------------------------------------------------------------------
diff --git 
a/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/services/assets/CSSURLRewriterTests.groovy
 
b/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/services/assets/CSSURLRewriterTests.groovy
index e6e6646..b2ddf3e 100644
--- 
a/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/services/assets/CSSURLRewriterTests.groovy
+++ 
b/tapestry-core/src/test/groovy/org/apache/tapestry5/internal/services/assets/CSSURLRewriterTests.groovy
@@ -139,7 +139,7 @@ body {
         def asset = newMock Asset
 
         expect(
-            assetSource.getAsset(resource, "asset:context:images/back.png", 
null)
+            assetSource.getAsset(resource, "context:images/back.png", null)
         ).andReturn asset
 
         expect(asset.toClientURL()).andReturn "/ctx/images/back.png"

Reply via email to