|
|
|
|
@ -72,35 +72,45 @@ func TestInvalidRotate(t *testing.T) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestConvert(t *testing.T) {
|
|
|
|
|
width, height := 640, 480
|
|
|
|
|
width, height := 300, 240
|
|
|
|
|
formats := [3]ImageType{PNG, WEBP, JPEG}
|
|
|
|
|
|
|
|
|
|
files := []string{
|
|
|
|
|
"test.jpg",
|
|
|
|
|
"test.png",
|
|
|
|
|
"test.webp",
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
options := Options{Width: width, Height: height, Crop: true, Type: PNG}
|
|
|
|
|
img, err := os.Open("fixtures/test.jpg")
|
|
|
|
|
for _, file := range files {
|
|
|
|
|
img, err := os.Open("fixtures/" + file)
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
defer img.Close()
|
|
|
|
|
|
|
|
|
|
buf, err := ioutil.ReadAll(img)
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
img.Close()
|
|
|
|
|
|
|
|
|
|
for _, format := range formats {
|
|
|
|
|
options := Options{Width: width, Height: height, Crop: true, Type: format}
|
|
|
|
|
|
|
|
|
|
newImg, err := Resize(buf, options)
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Errorf("Resize(imgData, %#v) error: %#v", options, err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if DetermineImageType(newImg) != PNG {
|
|
|
|
|
if DetermineImageType(newImg) != format {
|
|
|
|
|
t.Fatal("Image is not png")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
size, _ := Size(newImg)
|
|
|
|
|
if size.Height != height || size.Width != width {
|
|
|
|
|
t.Fatal("Invalid image size")
|
|
|
|
|
t.Fatalf("Invalid image size: %dx%d", size.Width, size.Height)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Write("fixtures/test_out.png", newImg)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestResizePngWithTransparency(t *testing.T) {
|
|
|
|
|
|