// Copyright 2016 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package icons import ( "image" "image/draw" "image/png" "os" "path/filepath" "testing" "golang.org/x/exp/shiny/iconvg" ) func encodePNG(dstFilename string, src image.Image) error { f, err := os.Create(dstFilename) if err != nil { return err } encErr := png.Encode(f, src) closeErr := f.Close() if encErr != nil { return encErr } return closeErr } func TestManualInspection(t *testing.T) { // Set this to a non-empty string such as "/tmp/mdicons" to manually // inspect the icons. const tmpDir = "" if tmpDir == "" { t.Skip("no tmpDir specified") } t.Errorf("tmpDir %q is a non-empty string; do not commit code changes", tmpDir) dst := image.NewAlpha(image.Rect(0, 0, 256, 256)) z := &iconvg.Rasterizer{} z.SetDstImage(dst, dst.Bounds(), draw.Src) for _, v := range list { if err := iconvg.Decode(z, v.data, nil); err != nil { t.Errorf("%q: %v", v.name, err) continue } filename := filepath.Join(tmpDir, v.name+".png") if err := encodePNG(filename, dst); err != nil { t.Error(err) } t.Logf("wrote %s", filename) } } func TestDecodeAll(t *testing.T) { for _, v := range list { if err := iconvg.Decode(nil, v.data, nil); err != nil { t.Errorf("%q: %v", v.name, err) continue } } }