github.com/isacikgoz/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  }