webp_server_go/encoder_test.go
Benny 08c333f3cd
Fiber v2, code format, typo,test case, go 1.15 and more (#54)
* upgrade to fiber v2

* code format

* remove redundant variables
* remove useless exportable variables/functions

* go mod replace

use our own mirror now.

* add test case for converter, use deferInit to make test more simple

* remove useless file and fix typo

* Makefile change
* upgrade to go 1.15
* remove wrong go test comments

* complete test case, coverage, coverage badge

* Fix version typo

* config struct fix

* add banner, show version, add server header, remove fiber startup message

Co-authored-by: n0vad3v <n0vad3v@riseup.net>
2020-11-21 13:26:03 +08:00

68 lines
1.5 KiB
Go

package main
import (
"github.com/stretchr/testify/assert"
"io/ioutil"
"os"
"path/filepath"
"testing"
)
//go test -v -cover .
func TestWebpEncoder(t *testing.T) {
var webp = "/tmp/test-result.webp"
var target = walker()
for _, f := range target {
//fmt.Println(b, c, webp)
runEncoder(t, f, webp)
}
_ = os.Remove(webp)
// test error
err := webpEncoder("./pics/empty.jpg", webp, 80, true, nil)
assert.NotNil(t, err)
}
func TestNonImage(t *testing.T) {
var webp = "/tmp/test-result.webp"
// test error
var err = webpEncoder("./pics/empty.jpg", webp, 80, true, nil)
assert.NotNil(t, err)
}
func TestWriteFail(t *testing.T) {
// test permission denied
var webp = "/123.webp"
var err = webpEncoder("./pics/png.jpg", webp, 80, true, nil)
assert.NotNil(t, err)
}
func walker() []string {
var list []string
_ = filepath.Walk("./pics", func(path string, info os.FileInfo, err error) error {
if !info.IsDir() {
list = append(list, path)
}
return nil
})
return list
}
func runEncoder(t *testing.T, file string, webp string) {
var c chan int
//t.Logf("convert from %s to %s", file, webp)
var err = webpEncoder(file, webp, 80, true, c)
if file == "pics/empty.jpg" && err != nil {
t.Log("Empty file, that's okay.")
} else if err != nil {
t.Fatalf("Fatal, convert failed for %s: %v ", file, err)
}
data, _ := ioutil.ReadFile(webp)
types := getFileContentType(data[:512])
if types != "image/webp" {
t.Fatal("Fatal, file type is wrong!")
}
}