mirror of
https://wget.la/https://github.com/Wxw-Gu/WechatExplorer
synced 2026-08-17 19:47:08 +08:00
74 lines
1.8 KiB
Go
74 lines
1.8 KiB
Go
package messaging
|
|
|
|
import "testing"
|
|
|
|
func TestExtractImageURLs(t *testing.T) {
|
|
text := "check  and "
|
|
urls := ExtractImageURLs(text)
|
|
if len(urls) != 2 {
|
|
t.Fatalf("expected 2 urls, got %d", len(urls))
|
|
}
|
|
if urls[0] != "https://example.com/a.png" {
|
|
t.Errorf("urls[0] = %q", urls[0])
|
|
}
|
|
if urls[1] != "https://example.com/b.jpg" {
|
|
t.Errorf("urls[1] = %q", urls[1])
|
|
}
|
|
}
|
|
|
|
func TestExtractImageURLs_NoImages(t *testing.T) {
|
|
urls := ExtractImageURLs("just plain text")
|
|
if len(urls) != 0 {
|
|
t.Errorf("expected 0 urls, got %d", len(urls))
|
|
}
|
|
}
|
|
|
|
func TestExtractImageURLs_RelativeURL(t *testing.T) {
|
|
text := ""
|
|
urls := ExtractImageURLs(text)
|
|
if len(urls) != 0 {
|
|
t.Errorf("expected 0 urls for relative path, got %d", len(urls))
|
|
}
|
|
}
|
|
|
|
func TestFilenameFromURL(t *testing.T) {
|
|
tests := []struct {
|
|
url string
|
|
want string
|
|
}{
|
|
{"https://example.com/photo.png", "photo.png"},
|
|
{"https://example.com/path/to/report.pdf", "report.pdf"},
|
|
{"https://example.com/file", "file"},
|
|
}
|
|
for _, tt := range tests {
|
|
got := filenameFromURL(tt.url)
|
|
if got != tt.want {
|
|
t.Errorf("filenameFromURL(%q) = %q, want %q", tt.url, got, tt.want)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestFilenameFromURL_WithQuery(t *testing.T) {
|
|
got := filenameFromURL("https://example.com/photo.png?token=abc")
|
|
if got != "photo.png" {
|
|
t.Errorf("got %q, want %q", got, "photo.png")
|
|
}
|
|
}
|
|
|
|
func TestStripQuery(t *testing.T) {
|
|
tests := []struct {
|
|
input string
|
|
want string
|
|
}{
|
|
{"https://example.com/a?b=c", "https://example.com/a"},
|
|
{"https://example.com/a", "https://example.com/a"},
|
|
{"https://example.com/?x=1&y=2", "https://example.com/"},
|
|
}
|
|
for _, tt := range tests {
|
|
got := stripQuery(tt.input)
|
|
if got != tt.want {
|
|
t.Errorf("stripQuery(%q) = %q, want %q", tt.input, got, tt.want)
|
|
}
|
|
}
|
|
}
|