Files
pastebin/handler/util_test.go
2025-10-13 13:41:34 +02:00

44 lines
1.3 KiB
Go

package handler
import (
"strings"
"testing"
"github.com/stretchr/testify/assert"
)
func TestGenerateId(t *testing.T) {
id, err := generateId()
assert.NoError(t, err)
assert.Equal(t, 10, len(id))
for _, char := range id {
assert.True(t, strings.ContainsRune(charset, char))
}
}
func TestHighlight(t *testing.T) {
goContent := `package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}`
// Test with a specific language extension (.go) -> SHOULD highlight
highlighted, err := highlight(goContent, "go", "monokai")
assert.NoError(t, err)
assert.Contains(t, highlighted, `style="color:#f92672"`, "Should highlight Go code with .go extension")
// Test with a generic extension (.txt) -> SHOULD auto-detect and highlight
highlighted, err = highlight(goContent, "txt", "monokai")
assert.NoError(t, err)
assert.Contains(t, highlighted, `style="color:#f92672"`, "Should auto-detect Go code with .txt extension")
// NEW TEST: No extension -> SHOULD NOT highlight
highlighted, err = highlight(goContent, "", "monokai")
assert.NoError(t, err)
assert.NotContains(t, highlighted, `style="color:#f92672"`, "Should NOT highlight Go code when no extension is given")
assert.Contains(t, highlighted, "package main", "Should still contain the original text")
}