| package main | package main | ||||
| import ( | import ( | ||||
| "log" | |||||
| "os" | "os" | ||||
| "github.com/rakyll/magicmime" | |||||
| ) | ) | ||||
| func getFileSize(s string) (size int64, err error) { | func getFileSize(s string) (size int64, err error) { | ||||
| return | return | ||||
| } | } | ||||
| func getFileMime(s string) (mime string) { | |||||
| return "" | |||||
| func getFileMime(s string) (mimetype string, err error) { | |||||
| if err := magicmime.Open(magicmime.MAGIC_MIME_TYPE | magicmime.MAGIC_SYMLINK | magicmime.MAGIC_ERROR); err != nil { | |||||
| log.Fatal(err) | |||||
| return "", err | |||||
| } | |||||
| defer magicmime.Close() | |||||
| mimetype, err = magicmime.TypeByFile(s) | |||||
| if err != nil { | |||||
| log.Fatalf("error occured during type lookup: %v", err) | |||||
| } | |||||
| //log.Printf("mime-type: %v", mimetype) | |||||
| return | |||||
| } | } |
| AssertEqual(t, size, int64(v), msg) | AssertEqual(t, size, int64(v), msg) | ||||
| } | } | ||||
| } | } | ||||
| func TestGetMimeType(t *testing.T) { | |||||
| var fileMime = map[string]string{ | |||||
| "media_for_test/640x480.jpg": "image/jpeg", | |||||
| "media_for_test/3640x3480.jpg": "image/jpeg", | |||||
| "media_for_test/video.mp4": "video/mp4", | |||||
| } | |||||
| for k, v := range fileMime { | |||||
| mime, _ := getFileMime(k) | |||||
| msg := fmt.Sprintf("%s should be %s, not %s", k, v, mime) | |||||
| AssertEqual(t, mime, v, msg) | |||||
| } | |||||
| } |