forked from pierrre/imageserver
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test.go
38 lines (33 loc) · 1.04 KB
/
test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// Package _test provides utilities for imageserver/image.Encoder testing.
package _test
import (
"bytes"
"image"
"testing"
"github.com/Destinia/imageserver"
imageserver_image "github.com/Destinia/imageserver/image"
)
// TestEncoder is a helper to test imageserver/image.Encoder.
func TestEncoder(t *testing.T, enc imageserver_image.Encoder, expectedFormat string) {
TestEncoderParams(t, enc, imageserver.Params{}, expectedFormat)
}
// TestEncoderParams is a helper to test imageserver/image.Encoder with Params.
func TestEncoderParams(t *testing.T, enc imageserver_image.Encoder, params imageserver.Params, expectedFormat string) {
buf := new(bytes.Buffer)
nim := NewImage()
err := enc.Encode(buf, nim, params)
if err != nil {
t.Fatal(err)
}
_, format, err := image.Decode(buf)
if err != nil {
t.Fatal(err)
}
if format != expectedFormat {
t.Fatalf("unexpected format: got %s, want %s", format, expectedFormat)
}
}
// NewImage creates a new test Image.
func NewImage() image.Image {
return image.NewRGBA(image.Rect(0, 0, 64, 64))
}