Skip to content

Commit

Permalink
fix failing tests
Browse files Browse the repository at this point in the history
  • Loading branch information
alexo committed Jun 8, 2012
1 parent 1728dd0 commit 9a5e4c1
Show file tree
Hide file tree
Showing 12 changed files with 85 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ private String parseCss(final String cssContent, final String cssUri) {
*/
final String modifiedDeclaration = Matcher.quoteReplacement(originalDeclaration.replace(originalUrl, modifiedUrl));
onUrlReplaced(modifiedUrl);
matcher.appendReplacement(sb, replaceDeclaration(originalDeclaration, modifiedDeclaration));
matcher.appendReplacement(sb, replaceDeclaration(originalDeclaration.trim(), modifiedDeclaration));
}
}
matcher.appendTail(sb);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,31 @@
package ro.isdc.wro.model.resource.processor.impl.css;

import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


/**
* Preserves the original css uri along with the new one. This should work also with browsers which do not support
* dataURI's.
* <p/>
* Sample Input:
*
* <pre>
* div {
* background: url('image.png');
* }
* </pre>
*
* Sample output:
*
* <pre>
* div {
* background: url('image.png');
* background: url('data:image/png;base64,iVBORw0...');
* }
* </pre>
*
* Applies the graceful degradation technique. For example, if browser can't parse second rule, it'll use first one.
*
* @author Alex Objelean
Expand All @@ -25,15 +34,27 @@
*/
public class FallbackCssDataUriProcessor
extends CssDataUriPreProcessor {
private static final Logger LOG = LoggerFactory.getLogger(FallbackCssDataUriProcessor.class);
private static final String SEPARATOR = ";";
public static final String ALIAS = "fallbackCssDataUri";

/**
* {@inheritDoc}
*/
@Override
protected String replaceDeclaration(final String originalExpression, final String modifiedExpression) {
System.out.println("originalExpression: " + originalExpression);
System.out.println("modifiedExpression: " + modifiedExpression);
return originalExpression.equals(modifiedExpression) ? modifiedExpression : originalExpression + ";"
+ modifiedExpression;
protected String replaceDeclaration(final String originalDeclaration, final String modifiedDeclaration) {
return originalDeclaration.equals(modifiedDeclaration) ? modifiedDeclaration : computeNewDeclaration(
originalDeclaration, modifiedDeclaration);
}

/**
* @return the new declaration which contains both: old and new modified declarations.
*/
private String computeNewDeclaration(final String originalDeclaration, final String modifiedDeclaration) {
LOG.debug("originalDeclaration: {}", originalDeclaration);
LOG.debug("modifiedDeclaration: {}", modifiedDeclaration);
// helps to avoid duplicate unnecessary separator
final String separator = originalDeclaration.trim().endsWith(SEPARATOR) ? StringUtils.EMPTY : SEPARATOR;
return originalDeclaration + separator + modifiedDeclaration;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,7 @@ private static void compareFromDifferentFolders(final File sourceFolder, final F
try {
targetFile = new File(targetFolder, toTargetFileName.transform(file.getName()));
final InputStream targetFileStream = new FileInputStream(targetFile);
LOG.debug("processing: {}", file.getName());
LOG.debug("=========== processing: {} ===========", file.getName());
// ResourceType doesn't matter here
compare(new FileInputStream(file), targetFileStream, new ResourcePostProcessor() {
public void process(final Reader reader, final Writer writer)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
input.button {
background: url(data:image/png;base64,iVBORw0KG);
background-image: url(data:image/png;base64,iVBORw0KG);
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='data:image/png;base64,iVBORw0KG');
background-image: url("data:image/png;base64,iVBORw0KG");
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='data:image/png;base64,iVBORw0KG', sizingMethod='scale');
}
.multilineAndSpaces {
background:
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
input.button {
background: url(data:image/png;base64,iVBORw0KG);
background-image: url(data:image/png;base64,iVBORw0KG);
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='data:image/png;base64,iVBORw0KG');
background-image: url("data:image/png;base64,iVBORw0KG");
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='data:image/png;base64,iVBORw0KG', sizingMethod='scale');
}
.multilineAndSpaces {
background:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
input.button {
background: url(data:image/png;base64,iVBORw0KG);
background-image: url(data:image/png;base64,iVBORw0KG);
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='btn_icons.png', sizingMethod='scale');
background-image: url("data:image/png;base64,iVBORw0KG");
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='data:image/png;base64,iVBORw0KG', sizingMethod='scale');
}
.multilineAndSpaces {
background:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
input.button {
background: url(http://wro4j.googlecode.com/svn/wiki/img/folderStructure.png);background: url(data:image/png;base64,iVBORw0KG);
background-image: url("http://wro4j.googlecode.com/svn/wiki/img/folderStructure.png");background-image: url(data:image/png;base64,iVBORw0KG);
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://wro4j.googlecode.com/svn/wiki/img/folderStructure.png'; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='data:image/png;base64,iVBORw0KG', sizingMethod='scale');
background-image: url("http://wro4j.googlecode.com/svn/wiki/img/folderStructure.png");background-image: url("data:image/png;base64,iVBORw0KG");
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://wro4j.googlecode.com/svn/wiki/img/folderStructure.png', sizingMethod='scale');filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='data:image/png;base64,iVBORw0KG', sizingMethod='scale');
}
.multilineAndSpaces {
background:
url( "http://wro4j.googlecode.com/svn/wiki/img/folderStructure.png " );background:
url(data:image/png;base64,iVBORw0KG);
background-image :
url( "http://wro4j.googlecode.com/svn/wiki/img/folderStructure.png " );background-image :
url(data:image/png;base64,iVBORw0KG)
}
@font-face {
src: url(http://wro4j.googlecode.com/svn/wiki/img/folderStructure.png);src: url(data:image/png;base64,iVBORw0KG);
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
input.button {
background: url(/wro/wroResources?id=classpath:ro/isdc/wro/resources/inner/inner/img/pinguin.png);background: url(data:image/png;base64,iVBORw0KG);
background-image: url("/wro/wroResources?id=classpath:ro/isdc/wro/resources/inner/inner/img/pinguin.png");background-image: url(data:image/png;base64,iVBORw0KG);
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/wro/wroResources?id=classpath:ro/isdc/wro/resources/inner/inner/img/pinguin.png'; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='data:image/png;base64,iVBORw0KG', sizingMethod='scale');
background-image: url("/wro/wroResources?id=classpath:ro/isdc/wro/resources/inner/inner/img/pinguin.png");background-image: url("data:image/png;base64,iVBORw0KG");
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/wro/wroResources?id=classpath:ro/isdc/wro/resources/inner/inner/img/pinguin.png', sizingMethod='scale');filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='data:image/png;base64,iVBORw0KG', sizingMethod='scale');
}
.multilineAndSpaces {
background:
url( "/wro/wroResources?id=classpath:ro/isdc/wro/resources/inner/inner/img/pinguin.png " );background:
url(data:image/png;base64,iVBORw0KG);
background-image :
url( "/wro/wroResources?id=classpath:ro/isdc/wro/resources/inner/inner/img/pinguin.png " );background-image :
url(data:image/png;base64,iVBORw0KG)
}
@font-face {
src: url(/wro/wroResources?id=classpath:ro/isdc/wro/resources/inner/inner/img/pinguin.png);src: url(data:image/png;base64,iVBORw0KG);
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
input.button {
background: url(btn_icons.png);background: url(data:image/png;base64,iVBORw0KG);
background-image: url("btn_icons.png");background-image: url(data:image/png;base64,iVBORw0KG);
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='btn_icons.png'; filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='data:image/png;base64,iVBORw0KG', sizingMethod='scale');
background-image: url("btn_icons.png");background-image: url("data:image/png;base64,iVBORw0KG");
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='btn_icons.png', sizingMethod='scale');filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='data:image/png;base64,iVBORw0KG', sizingMethod='scale');
}
.multilineAndSpaces {
background:
url( "btn_icons.png " );background:
url(data:image/png;base64,iVBORw0KG);
background-image :
url( "btn_icons.png " );background-image :
url(data:image/png;base64,iVBORw0KG)
}
@font-face {
src: url(btn_icons.png);src: url(data:image/png;base64,iVBORw0KG);
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
input.button {
background: url(large.jpg);
background-image: url(large.jpg);
background-image: url("large.jpg");
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='large.jpg', sizingMethod='scale');
}
.multilineAndSpaces {
background:
url(large.jpg);
background-image :
url(large.jpg)
}
@font-face {
src: url(large.jpg);
}

0 comments on commit 9a5e4c1

Please sign in to comment.