| 123456789101112131415161718192021222324252627282930313233343536373839 |
- package main
- import (
- "strings"
- "testing"
- )
- // 验证二维码生成:返回 data URI,PNG 可解码
- func TestGenerateQRCode(t *testing.T) {
- uri, err := GenerateQRCode("https://example.com", 0)
- if err != nil {
- t.Fatalf("生成失败: %v", err)
- }
- if !strings.HasPrefix(uri, "data:image/png;base64,") {
- t.Fatalf("应返回 data URI,得到前缀: %v", uri[:30])
- }
- if len(uri) < 100 {
- t.Fatalf("data URI 过短: %d", len(uri))
- }
- }
- // 验证空输入与超长输入
- func TestGenerateQRCodeInvalid(t *testing.T) {
- if _, err := GenerateQRCode("", 0); err == nil {
- t.Fatal("空输入应报错")
- }
- if _, err := GenerateQRCode(strings.Repeat("a", 1001), 0); err == nil {
- t.Fatal("超长输入应报错")
- }
- }
- // 验证不同尺寸
- func TestGenerateQRCodeSize(t *testing.T) {
- for _, size := range []int{0, 128, 300, 1024} {
- if _, err := GenerateQRCode("test", size); err != nil {
- t.Fatalf("size=%d 生成失败: %v", size, err)
- }
- }
- }
|