From affe54a4e91e979f65e412812b92b390b9c0c127 Mon Sep 17 00:00:00 2001 From: Taco de Wolff Date: Mon, 13 Apr 2020 19:50:37 -0400 Subject: [PATCH] Remove whitespace around @import url(...), fixes #296 --- css/css.go | 10 +++++++++- css/css_test.go | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/css/css.go b/css/css.go index 8555ddc4ce..d89c477e0f 100644 --- a/css/css.go +++ b/css/css.go @@ -185,7 +185,15 @@ func (c *cssMinifier) minifyGrammar() error { if ToHash(data[1:]) == Import && len(values) == 2 && values[1].TokenType == css.URLToken { url := values[1].Data if url[4] != '"' && url[4] != '\'' { - url = url[3:] + a := 4 + for parse.IsWhitespace(url[a]) || parse.IsNewline(url[a]) { + a++ + } + b := len(url) - 2 + for parse.IsWhitespace(url[b]) || parse.IsNewline(url[b]) { + b-- + } + url = url[a-1 : b+2] url[0] = '"' url[len(url)-1] = '"' } else { diff --git a/css/css_test.go b/css/css_test.go index 5d99384496..b076c8d4fa 100644 --- a/css/css_test.go +++ b/css/css_test.go @@ -27,6 +27,8 @@ func TestCSS(t *testing.T) { {"@import 'file';", "@import 'file'"}, {"@import url('file');", "@import 'file'"}, {"@import url(//url);", `@import "//url"`}, + {"@import url(\n//url\n);", `@import "//url"`}, + {"@import url();", `@import ""`}, {"@font-face { x:y; }", "@font-face{x:y}"}, {"input[type=\"radio\"]{x:y}", "input[type=radio]{x:y}"},