minifiers: Fixx CSS2 color code handling - hugo - [fork] hugo port for 9front
 (HTM) git clone git@git.drkhsh.at/hugo.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 4b5f743959394d443c4dcaa0ccae21842b51adaf
 (DIR) parent 931a1324503a4414e38d26efe82e1add811a8d29
 (HTM) Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Fri,  7 Dec 2018 07:49:26 +0100
       
       minifiers: Fixx CSS2 color code handling
       
       Fixes #5506
       
       Diffstat:
         M minifiers/minifiers.go              |       7 ++++++-
         M minifiers/minifiers_test.go         |      20 ++++++++++++++++++++
       
       2 files changed, 26 insertions(+), 1 deletion(-)
       ---
 (DIR) diff --git a/minifiers/minifiers.go b/minifiers/minifiers.go
       @@ -71,8 +71,13 @@ func New(mediaTypes media.Types, outputFormats output.Formats) Client {
                        KeepDefaultAttrVals:     true,
                }
        
       +        cssMin := &css.Minifier{
       +                Decimals: -1,
       +                KeepCSS2: true,
       +        }
       +
                // We use the Type definition of the media types defined in the site if found.
       -        addMinifierFunc(m, mediaTypes, "css", css.Minify)
       +        addMinifier(m, mediaTypes, "css", cssMin)
                addMinifierFunc(m, mediaTypes, "js", js.Minify)
                m.AddFuncRegexp(regexp.MustCompile("^(application|text)/(x-)?(java|ecma)script$"), js.Minify)
                m.AddFuncRegexp(regexp.MustCompile("^(application|text)/(x-|ld\\+)?json$"), json.Minify)
 (DIR) diff --git a/minifiers/minifiers_test.go b/minifiers/minifiers_test.go
       @@ -71,3 +71,23 @@ func TestNew(t *testing.T) {
                }
        
        }
       +
       +func TestBugs(t *testing.T) {
       +        assert := require.New(t)
       +        m := New(media.DefaultTypes, output.DefaultFormats)
       +
       +        for _, test := range []struct {
       +                tp                media.Type
       +                rawString         string
       +                expectedMinString string
       +        }{
       +                // https://github.com/gohugoio/hugo/issues/5506
       +                {media.CSSType, " body { color: rgba(000, 000, 000, 0.7); }", "body{color:rgba(0,0,0,.7)}"},
       +        } {
       +                var b bytes.Buffer
       +
       +                assert.NoError(m.Minify(test.tp, &b, strings.NewReader(test.rawString)))
       +                assert.Equal(test.expectedMinString, b.String())
       +        }
       +
       +}