package mailx_test import ( "reflect" "testing" mailx "code.yun.ink/pkg/mailx" ) func TestParseHtmlResourceAll(t *testing.T) { html := `
`
got, err := mailx.ParseHTMLResource(html)
if err != nil {
t.Fatal(err)
}
want := []string{
"./css/a.css",
"./js/app.js",
"./img/a.png",
"./img/b.png",
"./v/a.mp4",
"./v/b.mp4",
"./au/a.mp3",
}
if !reflect.DeepEqual(got, want) {
t.Fatalf("got %v, want %v", got, want)
}
}
func TestParseHtmlResourceNoResources(t *testing.T) {
got, err := mailx.ParseHtmlResource("plain")
if err != nil {
t.Fatal(err)
}
if len(got) != 0 {
t.Fatalf("got %v, want empty", got)
}
}
func TestParseHtmlResourceInvalidInput(t *testing.T) {
// 非法 HTML 输入不应返回错误(goquery 容错解析)
if _, err := mailx.ParseHtmlResource("not html at all <<<"); err != nil {
t.Fatalf("unexpected error: %v", err)
}
}
func TestParseHtmlResourceEmptyHrefIgnored(t *testing.T) {
got, err := mailx.ParseHtmlResource(`