package telegram
import (
"strconv"
"testing"
"github.com/stretchr/testify/assert"
http "github.com/valyala/fasthttp"
)
const (
testPhrase = "Hello, world!"
testLink = "https://toby3d.me/"
testID = 123456789
// testUsername = "toby3d"
// testChannel = "toby3dRu"
testCode = ""+testCode+"
", NewHTMLCode(testCode))
})
t.Run("code block", func(t *testing.T) {
assert.Equal(t, "
"+testCode+"", NewHTMLCodeBlock(testCode)) }) } func TestAnimation(t *testing.T) { t.Run("has thumb", func(t *testing.T) { t.Run("false", func(t *testing.T) { a := new(Animation) assert.False(t, a.HasThumb()) }) t.Run("true", func(t *testing.T) { assert.True(t, testAnimation.HasThumb()) }) }) t.Run("file", func(t *testing.T) { assert.NotNil(t, testAnimation.File()) }) } func TestAudio(t *testing.T) { t.Run("has performer", func(t *testing.T) { t.Run("false", func(t *testing.T) { a := new(Audio) assert.False(t, a.HasPerformer()) }) t.Run("true", func(t *testing.T) { assert.True(t, testAudio.HasPerformer()) }) }) t.Run("has title", func(t *testing.T) { t.Run("false", func(t *testing.T) { a := new(Audio) assert.False(t, a.HasTitle()) }) t.Run("true", func(t *testing.T) { assert.True(t, testAudio.HasTitle()) }) }) t.Run("has thumb", func(t *testing.T) { t.Run("false", func(t *testing.T) { a := new(Audio) assert.False(t, a.HasThumb()) }) t.Run("true", func(t *testing.T) { assert.True(t, testAudio.HasThumb()) }) }) t.Run("file", func(t *testing.T) { assert.NotNil(t, testAudio.File()) }) t.Run("full name", func(t *testing.T) { for _, tc := range []struct { message string audio *Audio separator string expResult string }{{ message: "empty", expResult: DefaultAudioTitle, }, { message: "separator only", separator: DefaultAudioSeparator, expResult: DefaultAudioTitle, }, { message: "title only", audio: &Audio{ Title: testAudio.Title, }, expResult: testAudio.Title, }, { message: "performer only", audio: &Audio{ Performer: testAudio.Performer, }, expResult: testAudio.Performer + DefaultAudioSeparator + DefaultAudioTitle, }, { message: "title & performer", audio: &Audio{ Performer: testAudio.Performer, Title: testAudio.Title, }, expResult: testAudio.Performer + DefaultAudioSeparator + testAudio.Title, }, { message: "title & separator", separator: " | ", audio: &Audio{ Title: testAudio.Title, }, expResult: testAudio.Title, }, { message: "performer & separator", separator: " | ", audio: &Audio{ Performer: testAudio.Performer, }, expResult: testAudio.Performer + " | " + DefaultAudioTitle, }, { message: "performer, title & separator", separator: " | ", audio: &Audio{ Performer: testAudio.Performer, Title: testAudio.Title, }, expResult: testAudio.Performer + " | " + testAudio.Title, }} { tc := tc t.Run(tc.message, func(t *testing.T) { assert.Equal(t, tc.expResult, tc.audio.FullName(tc.separator)) }) } }) }