github.com/fretkak/mattermost-mattermost-server@v5.11.1+incompatible/utils/emoji.go (about) 1 // Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved. 2 // See License.txt for license information. 3 4 package utils 5 6 import ( 7 "bytes" 8 "image" 9 "image/color" 10 "image/gif" 11 "image/jpeg" 12 "image/png" 13 "testing" 14 ) 15 16 func CreateTestGif(t *testing.T, width int, height int) []byte { 17 var buffer bytes.Buffer 18 19 if err := gif.Encode(&buffer, image.NewRGBA(image.Rect(0, 0, width, height)), nil); err != nil { 20 t.Fatalf("failed to create gif: %v", err.Error()) 21 } 22 23 return buffer.Bytes() 24 } 25 26 func CreateTestAnimatedGif(t *testing.T, width int, height int, frames int) []byte { 27 var buffer bytes.Buffer 28 29 img := gif.GIF{ 30 Image: make([]*image.Paletted, frames), 31 Delay: make([]int, frames), 32 } 33 for i := 0; i < frames; i++ { 34 img.Image[i] = image.NewPaletted(image.Rect(0, 0, width, height), color.Palette{color.Black}) 35 img.Delay[i] = 0 36 } 37 if err := gif.EncodeAll(&buffer, &img); err != nil { 38 t.Fatalf("failed to create animated gif: %v", err.Error()) 39 } 40 41 return buffer.Bytes() 42 } 43 44 func CreateTestJpeg(t *testing.T, width int, height int) []byte { 45 var buffer bytes.Buffer 46 47 if err := jpeg.Encode(&buffer, image.NewRGBA(image.Rect(0, 0, width, height)), nil); err != nil { 48 t.Fatalf("failed to create jpeg: %v", err.Error()) 49 } 50 51 return buffer.Bytes() 52 } 53 54 func CreateTestPng(t *testing.T, width int, height int) []byte { 55 var buffer bytes.Buffer 56 57 if err := png.Encode(&buffer, image.NewRGBA(image.Rect(0, 0, width, height))); err != nil { 58 t.Fatalf("failed to create png: %v", err.Error()) 59 } 60 61 return buffer.Bytes() 62 }