Skip to content

Commit

Permalink
Fix spaces handling inside url()
Browse files Browse the repository at this point in the history
  • Loading branch information
s0ph1e committed Feb 23, 2017
1 parent 6cacc35 commit 8493174
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 1 deletion.
2 changes: 1 addition & 1 deletion lib/css-parser.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
var embeddedRegexp = /data:(.*?);base64,/;
var commentRegexp = /\/\*([\s\S]*?)\*\//g;
var urlsRegexp = /((?:@import\s+)?url\s*\(['"]?)(\S*?)(['"]?\s*\))|(@import\s+['"]?)([^;'"]+)/ig;
var urlsRegexp = /((?:@import\s+)?url\s*\(\s*['"]?)(.*?)(['"]?\s*\))|(@import\s+['"]?)([^;'"]+)/ig;

function isEmbedded (src) {
return embeddedRegexp.test(src);
Expand Down
24 changes: 24 additions & 0 deletions test/css-parser-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,30 @@ describe('Parse css urls', function(){
urls.should.have.length(0);
});

it('should handle urls with spaces inside brackets', function () {
var text1 = '.image { background: url( "1.css"); } ';
var urls1 = parseCssUrls(text1);
urls1.should.be.instanceof(Array).and.have.lengthOf(1);
urls1.should.containEql('1.css');

var text2 = '.image { background: url( "2.css"); } ';
var urls2 = parseCssUrls(text2);
urls2.should.be.instanceof(Array).and.have.lengthOf(1);
urls2.should.containEql('2.css');

var text3 = ".image { background: url('3.css' ); } ";
var urls3 = parseCssUrls(text3);
urls3.should.be.instanceof(Array).and.have.lengthOf(1);
urls3.should.containEql('3.css');
});

it('should handle urls with spaces inside quotes', function() {
var text = '.image { background: url(" a.css"); } ';
var urls = parseCssUrls(text);
urls.should.be.instanceof(Array).and.have.lengthOf(1);
urls.should.containEql(' a.css');
});

describe('comments', function() {
it('should ignore comments and return empty array if there are only comments in text', function(){
var text = '\
Expand Down

0 comments on commit 8493174

Please sign in to comment.