func TestDecodeAndEncodeSubsampledImages(t *testing.T) { for _, file := range subsampledImageFiles { r := util.OpenFile(file) fmt.Printf(" - test: %s\n", file) img, err := jpeg.Decode(r, &jpeg.DecoderOptions{}) if err != nil { t.Errorf("Decode returns error: %v", err) } // Create output file f, err := os.Create(util.GetOutFilePath(fmt.Sprintf("TestDecodeAndEncodeSubsampledImages_%s", file))) if err != nil { panic(err) } w := bufio.NewWriter(f) defer func() { w.Flush() f.Close() }() if err := jpeg.Encode(w, img, &jpeg.EncoderOptions{Quality: 90}); err != nil { t.Errorf("Encode returns error: %v", err) } } }
func TestDecode(t *testing.T) { for _, file := range naturalImageFiles { io := util.OpenFile(file) fmt.Printf(" - test: %s\n", file) img, err := jpeg.Decode(io, &jpeg.DecoderOptions{}) if err != nil { t.Errorf("Got Error: %v", err) } util.WritePNG(img, fmt.Sprintf("TestDecode_%s.png", file)) } }
func BenchmarkDecodeWithNativeJPEG(b *testing.B) { for i := 0; i < b.N; i++ { for _, file := range naturalImageFiles { io := util.OpenFile(file) img, err := nativeJPEG.Decode(io) if img == nil { b.Error("Got nil") } if err != nil { b.Errorf("Got Error: %v", err) } } } }
func BenchmarkDecodeIntoRGB(b *testing.B) { for i := 0; i < b.N; i++ { for _, file := range naturalImageFiles { io := util.OpenFile(file) img, err := jpeg.DecodeIntoRGB(io, &jpeg.DecoderOptions{}) if img == nil { b.Error("Got nil") } if err != nil { b.Errorf("Got Error: %v", err) } } } }
func TestDecodeIntoRGBA(t *testing.T) { if jpeg.SupportRGBA() != true { t.Skipf("This build is not support DecodeIntoRGBA.") return } for _, file := range naturalImageFiles { io := util.OpenFile(file) fmt.Printf(" - test: %s\n", file) img, err := jpeg.DecodeIntoRGBA(io, &jpeg.DecoderOptions{}) if err != nil { t.Errorf("Got Error: %v", err) continue } util.WritePNG(img, fmt.Sprintf("TestDecodeIntoRGBA_%s.png", file)) } }
func TestDecodeScaledIntoRGB(t *testing.T) { for _, file := range naturalImageFiles { io := util.OpenFile(file) fmt.Printf(" - test: %s\n", file) img, err := jpeg.DecodeIntoRGB(io, &jpeg.DecoderOptions{ScaleTarget: image.Rect(0, 0, 100, 100)}) if err != nil { t.Errorf("Got Error: %v", err) } if got := img.Bounds().Dx(); got != 256 { t.Errorf("Wrong scaled width: %v, expect: 128 (=1024/8)", got) } if got := img.Bounds().Dy(); got != 192 { t.Errorf("Wrong scaled height: %v, expect: 192 (=768/8)", got) } util.WritePNG(img, fmt.Sprintf("TestDecodeIntoRGB_%s.png", file)) } }
func TestDecodeConfig(t *testing.T) { for _, file := range naturalImageFiles { r := util.OpenFile(file) fmt.Printf(" - test: %s\n", file) config, err := jpeg.DecodeConfig(r) if err != nil { t.Errorf("Got error: %v", err) } if got := config.ColorModel; got != color.YCbCrModel { t.Errorf("got wrong ColorModel: %v, expect: color.YCbCrModel", got) } if got := config.Width; got != 1024 { t.Errorf("got wrong width: %d, expect: 1024", got) } if got := config.Height; got != 768 { t.Errorf("got wrong height: %d, expect: 768", got) } } }
func TestOpenFile(t *testing.T) { for _, file := range util.SubsampledImages { util.OpenFile(file) } }