Skip to content

Commit

Permalink
chore: add gray image test (#171)
Browse files Browse the repository at this point in the history
  • Loading branch information
ykzts committed Sep 12, 2019
1 parent 45feb59 commit f162176
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 15 deletions.
3 changes: 2 additions & 1 deletion convert.go
Expand Up @@ -80,7 +80,8 @@ func encode(src image.Image) (*bytes.Buffer, error) {
return buf, nil
}

func convert(src io.ReadCloser) (*bytes.Buffer, error) {
// Convert returns a image buffer converted to webp
func Convert(src io.ReadCloser) (*bytes.Buffer, error) {
img, err := decode(src)
if err != nil {
return nil, err
Expand Down
47 changes: 34 additions & 13 deletions convert_test.go
Expand Up @@ -18,30 +18,51 @@
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.

package manael // import "manael.org/x/manael"
package manael_test // import "manael.org/x/manael"

import (
"os"
"testing"

"manael.org/x/manael"
"manael.org/x/manael/internal/testutil"
)

var convertTests = []struct {
name string
format string
}{
{
"testdata/logo.png",
"webp",
},
{
"testdata/gray.png",
"webp",
},
{
"testdata/photo.jpeg",
"webp",
},
}

func TestConvert(t *testing.T) {
f, err := os.Open("testdata/logo.png")
if err != nil {
t.Fatal(err)
}
defer f.Close()
for _, tc := range convertTests {
f, err := os.Open(tc.name)
if err != nil {
t.Fatal(err)
}
defer f.Close()

img, err := convert(f)
if err != nil {
t.Fatal(err)
}
img, err := manael.Convert(f)
if err != nil {
t.Fatal(err)
}

format := testutil.DetectFormat(img)
format := testutil.DetectFormat(img)

if got, want := format, "webp"; got != want {
t.Errorf("Image format is %s, want %s", got, want)
if got, want := format, tc.format; got != want {
t.Errorf("Image format is %s, want %s", got, want)
}
}
}
Binary file added testdata/gray.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion transport.go
Expand Up @@ -117,7 +117,7 @@ func (t *Transport) RoundTrip(req *http.Request) (*http.Response, error) {

defer resp.Body.Close()

buf, err := convert(resp.Body)
buf, err := Convert(resp.Body)
if err != nil {
resp = NewResponse(req2, http.StatusInternalServerError)
log.Printf("error: %v\n", err)
Expand Down

0 comments on commit f162176

Please sign in to comment.