From 565bf417ce29a62e2d71f90aa5b3f2ccdb506c1b Mon Sep 17 00:00:00 2001 From: Luke Vivier Date: Wed, 14 Aug 2013 19:48:46 -0700 Subject: [PATCH] remove /./ and /../ from css urls see #96 and component/component#392 regex because windows --- lib/builder.js | 1 + test/builder.js | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/builder.js b/lib/builder.js index 1748c07..c3d13a9 100644 --- a/lib/builder.js +++ b/lib/builder.js @@ -974,6 +974,7 @@ function rewriteUrls(builder, file, css) { if (isAbsolute(url)) return orig; var name = normalize(builder.basename); url = [builder.urlPrefix, name, dirname(file), url].filter(empty).join('/'); + url = path.normalize(url).replace(/\\/g,'/'); return 'url("' + url + '")'; } diff --git a/test/builder.js b/test/builder.js index 310af49..a03e5c5 100644 --- a/test/builder.js +++ b/test/builder.js @@ -230,9 +230,9 @@ describe('Builder', function(){ builder.prefixUrls('build'); builder.build(function(err, res){ if (err) return done(err); - res.css.should.include('url("build/assets/./images/logo.png")'); - res.css.should.include('url("build/assets/./images/maru.jpeg")'); - res.css.should.include('url("build/assets/css/../images/npm.png")'); + res.css.should.include('url("build/assets/images/logo.png")'); + res.css.should.include('url("build/assets/images/maru.jpeg")'); + res.css.should.include('url("build/assets/images/npm.png")'); res.css.should.include('url(http://example.com/images/manny.png)'); res.css.should.include('url(/public/images/foo.png)') res.css.should.include('url(data:image/png;base64,PNG DATA HERE)');