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(` `) if err != nil { t.Fatal(err) } if len(got) != 0 { t.Fatalf("got %v, want empty", got) } }